python教程,如何在dataframe中插入一行或一列数据?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
dataframe
类型是如何插入一行或一列数据的呢?这个需求在本文中将会进行讨论。相比较ndarray
类型的同样的“数据插入”需求,dataframe
的实现方式,则不是很好用。
大家好,苏南大叔的程序如此灵动博客,记录苏南大叔的代码所学所想。本文以一个dataframe
类型变量为例,测试插入一行数据或者一列数据的方式方法。测试环境:win10
,python@3.11.0
,numpy@1.24.2
,pandas@1.5.3
。
某个位置插入列
因为dataframe
的insert()
,不走寻常路。
- 效果就是插入一列数据,并没有
axis=
这个参数来区分数据流的方向。 - 并且默认效果就是替换原变量,并不是
return 新变量
,并没有个inplace
参数进行控制。
测试代码:
import pandas as pd
df = pd.DataFrame({"姓名": ["老许", "虎子"], "重量": ["10", "15"]})
df.insert(1, "种类", ["猫", "狗"])
print(df)
输出:
姓名 种类 重量
0 老许 猫 10
1 虎子 狗 15
这个dataframe
将作为原始数据,参与本文后续的代码实验。
尾部插入列
这个代码是最简单的,灰常简单。
测试代码:
import pandas as pd
df = pd.DataFrame({"姓名": ["老许", "虎子"], "重量": ["10", "15"]})
df["颜色"] = ['黑色', '黄色']
print(df)
输出:
姓名 重量 颜色
0 老许 10 黑色
1 虎子 15 黄色
某个位置插入行
下面在第二行(编号1)位置插入两条数据。实际上先对dataframe
在编号1位置进行了拆分,然后再在拆分的两部分中间放入了新的数据,最终执行合并操作。
参考文章:
import pandas as pd
df = pd.DataFrame({"姓名": ["老许", "虎子"],"种类": ["猫", "狗"], "重量": ["10", "15"]})
data = pd.DataFrame({
'姓名': ["老许二代", "二赖子"],
'种类': ["黑猫", "花狗"],
'重量': [3, 15]
})
df2 = pd.concat([df.loc[:0], data, df.loc[1:]]).reset_index(drop=True)
print(df2)
输出:
姓名 种类 重量
0 老许 猫 10
1 老许二代 黑猫 3
2 二赖子 花狗 15
3 虎子 狗 15
尾部插入行
dataframe
类型官方,对于插入新的一行数据的需求,就仅仅提供了一个append()
操作,可以叠加新数据到尾部。
import pandas as pd
df = pd.DataFrame({"姓名": ["老许", "虎子"],"种类": ["猫", "狗"], "重量": ["10", "15"]})
data = pd.DataFrame({
'姓名': ["老许二代", "二赖子"],
'种类': ["黑猫", "花狗"],
'重量': [3, 15]
})
df3 = df.append(data, ignore_index=True)
print(df3)
输出:
姓名 种类 重量
0 老许 猫 10
1 虎子 狗 15
2 老许二代 黑猫 3
3 二赖子 花狗 15
结束语
更多python
经验文章,请点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。