【Python】【Pandas】使用concat添加行

简介: 【Python】【Pandas】使用concat添加行

添加行

t = pd.DataFrame(columns=["姓名","平均分"])
t = t.append({"姓名":"小红","平均分":M1},ignore_index=True)
t = t.append({"姓名":"张明","平均分":M2},ignore_index=True)
t = t.append({"姓名":"小江","平均分":M3},ignore_index=True)
t = t.append({"姓名":"小李","平均分":M4},ignore_index=True)
print(t)

使用append的时候发出警告如下:

FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.

于是我就按它提示的来。

concat是将两个DataFrame拼接起来

td = pd.DataFrame([
{"姓名":"小红","平均分":"%.2f"%M1},
{"姓名":"张明","平均分":"%.2f"%M2},
{"姓名":"小江","平均分":"%.2f"%M3},
{"姓名":"小李","平均分":"%.2f"%M4}],
    index=["M1","M2","M3","M4"],)
# 如果不设置index,下面的ignore_index设置为True
result = pd.concat([td],ignore_index=False) # 若axis=0 则是跨行合并(垂直合并);若axis=1,则是跨列合并(水平合并)
print("=-=-=-=萌狼蓝天=-=-=-=")
print(result)

q1.png

这样子写的话,都不用设置表头了

你也可以这样写:

# 写法2
td1 = pd.DataFrame({"姓名":"小红","平均分":"%.2f"%M1},index=["M1"])
td2 = pd.DataFrame({"姓名":"张明","平均分":"%.2f"%M2},index=["M2"])
td3 = pd.DataFrame({"姓名":"小江","平均分":"%.2f"%M3},index=["M3"])
td4 = pd.DataFrame({"姓名":"小李","平均分":"%.2f"%M4},index=["M4"])
# 如果不设置index,下面的ignore_index设置为True
result = pd.concat([td1,td2,td3,td4],ignore_index=False) # 若axis=0 则是跨行合并(垂直合并);若axis=1,则是跨列合并(水平合并)
print("=-=-=-=萌狼蓝天=-=-=-=")
print(result)

q1.png

如果你也要测试的话

1.将下面内容保存在名为homework1.txt

姓名,科目,成绩
小红,语文,100
小红,英语,90
小红,数学,75
张明,语文,80
张明,英语,76
张明,数学,88
小江,语文,79
小江,数学,120
小江,英语,80
小李,英语,87
小李,语文,99
小李,数学,76

2.Python源码

import pandas as pd
data = pd.read_table("homework1.txt",sep=",")
print(data)
pd1= data.loc[data["姓名"]=="小红",:]
M1=pd1["成绩"].mean()
pd2= data.loc[data["姓名"]=="张明",:]
M2=pd2["成绩"].mean()
pd3= data.loc[data["姓名"]=="小江",:]
M3=pd3["成绩"].mean()
pd4= data.loc[data["姓名"]=="小李",:]
M4=pd4["成绩"].mean()
# 旧版本操作
# t = pd.DataFrame(columns=["姓名","平均分"])
# t = t.append({"姓名":"小红","平均分":M1},ignore_index=True)
# t = t.append({"姓名":"张明","平均分":M2},ignore_index=True)
# t = t.append({"姓名":"小江","平均分":M3},ignore_index=True)
# t = t.append({"姓名":"小李","平均分":M4},ignore_index=True)
# print(t)
# 新版本操作
# tt = pd.DataFrame(columns=["姓名","平均分"])
# # "%.2f"% 保留小数点后两位
# td = pd.DataFrame([
# {"姓名":"小红","平均分":"%.2f"%M1},
# {"姓名":"张明","平均分":"%.2f"%M2},
# {"姓名":"小江","平均分":"%.2f"%M3},
# {"姓名":"小李","平均分":"%.2f"%M4}],
#     index=["M1","M2","M3","M4"],)
# # 如果不设置index,下面的ignore_index设置为True
# result = pd.concat([td],ignore_index=False) # 若axis=0 则是跨行合并(垂直合并);若axis=1,则是跨列合并(水平合并)
# print("=-=-=-=萌狼蓝天=-=-=-=")
# print(result)
# 写法2
td1 = pd.DataFrame({"姓名":"小红","平均分":"%.2f"%M1},index=["M1"])
td2 = pd.DataFrame({"姓名":"张明","平均分":"%.2f"%M2},index=["M2"])
td3 = pd.DataFrame({"姓名":"小江","平均分":"%.2f"%M3},index=["M3"])
td4 = pd.DataFrame({"姓名":"小李","平均分":"%.2f"%M4},index=["M4"])
# 如果不设置index,下面的ignore_index设置为True
result = pd.concat([td1,td2,td3,td4],ignore_index=False) # 若axis=0 则是跨行合并(垂直合并);若axis=1,则是跨列合并(水平合并)
print("=-=-=-=萌狼蓝天=-=-=-=")
print(result)
相关文章
|
9月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
660 0
|
9月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
738 0
|
11月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
822 0
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
473 0
|
Python
解决Python报错:DataFrame对象没有concat属性的多种方法(解决方案汇总)
总的来说,解决“DataFrame对象没有concat属性”的错误的关键是理解concat函数应该如何正确使用,以及Pandas库提供了哪些其他的数据连接方法。希望这些方法能帮助你解决问题。记住,编程就像是解谜游戏,每一个错误都是一个谜题,解决它们需要耐心和细心。
649 15
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
266 3
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
561 2
|
SQL 数据采集 数据挖掘
Pandas数据合并:concat与merge
Pandas是Python中强大的数据分析库,提供灵活高效的数据结构和工具。本文详细介绍了Pandas中的两种主要合并方法——`concat`和`merge`。`concat`用于沿特定轴连接多个Pandas对象,适用于简单拼接场景;`merge`则类似于SQL的JOIN操作,根据键合并DataFrame,支持多种复杂关联。文章还探讨了常见问题及解决方案,如索引对齐、列名冲突和数据类型不一致等,帮助读者全面掌握这两种方法,提高数据分析效率。
1018 8
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习

热门文章

最新文章

推荐镜像

更多