python教程,dataframe如何通过ndarray解决数据插入需求?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
pandas.dataframe
和numpy.ndarray
是python
里面的两个高级数据类型,他们和python
最基础的list
类型有着千丝万缕的联系。本文描述,不直接对dataframe
类型进行操作,而转成ndarray
来实现数据插入的问题。这么操作的原因是:苏南大叔认为ndarray
的函数操作起来更加方便。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程所学所想。测试环境:win10
,python@3.11.0
,numpy@1.24.2
,pandas@1.5.3
。本文对于dataframe
插入一行或一列数据的事情,另辟蹊径,曲线采用ndarray
类型来完成这个需求。
前文回顾
这里可以对前文进行回顾,以加深对本文的理解。相关文章有:
- https://newsn.net/say/pandas-dataframe.html
- https://newsn.net/say/dataframe-ndarray.html
- https://newsn.net/say/python-ndarray.html
这两个pandas.dataframe
和numpy.ndarray
数据类型插入数据的方式:
在上面两篇文章里面,可以看到,关于插入数据这个需求,ndarray
的相关操作要比dataframe
更加合理好用。所以,本文中,苏南大叔试图通过ndarray
来实现类似的需求。本文描述的内容,和下面这篇文章有些类似:
本文的理论基础是:
获得数值:
df.values
获得标签:
df.columns
df.index
获得标签的数组:
df.columns.values.tolist()
df.index.values.tolist()
通过numpy插入一列数据
测试代码:
import numpy as np
import pandas as pd
df = pd.DataFrame({"姓名": ["老许", "虎子"],"种类": ["猫", "狗"], "重量": ["10", "20"]})
df2 = pd.DataFrame(np.insert(df.values, 1, values=['50', '36'], axis=1))
tmp = df.columns.values.tolist()
tmp.insert(1,"高度")
df2.columns = tmp
print(df2)
输出:
姓名 高度 种类 重量
0 老许 50 猫 10
1 虎子 36 狗 20
通过numpy插入一行数据
测试代码:
import numpy as np
import pandas as pd
df = pd.DataFrame({"姓名": ["老许", "虎子"],"种类": ["猫", "狗"], "重量": ["10", "20"]})
df2 = pd.DataFrame(np.insert(df.values, 1, values=['二赖子', '狗','25'], axis=0))
df2.columns = df.columns
print(df2)
输出:
姓名 种类 重量
0 老许 猫 10
1 二赖子 狗 25
2 虎子 狗 20
结束语
如果你需要插入的是多行数据,可以参考ndarray
的数据插入篇内容,做出更多例子。
更多python
教程,请点击苏南大叔的博客文章:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。