我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

pandas.dataframenumpy.ndarraypython里面的两个高级数据类型,他们和python最基础的list类型有着千丝万缕的联系。本文描述,不直接对dataframe类型进行操作,而转成ndarray来实现数据插入的问题。这么操作的原因是:苏南大叔认为ndarray的函数操作起来更加方便。

苏南大叔:python教程,dataframe如何通过ndarray解决数据插入需求? - dataframe-insert-by-ndarray
python教程,dataframe如何通过ndarray解决数据插入需求?(图3-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程所学所想。测试环境:win10python@3.11.0numpy@1.24.2pandas@1.5.3。本文对于dataframe插入一行或一列数据的事情,另辟蹊径,曲线采用ndarray类型来完成这个需求。

前文回顾

这里可以对前文进行回顾,以加深对本文的理解。相关文章有:

这两个pandas.dataframenumpy.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

苏南大叔:python教程,dataframe如何通过ndarray解决数据插入需求? - 插入一列数据
python教程,dataframe如何通过ndarray解决数据插入需求?(图3-2)

通过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

苏南大叔:python教程,dataframe如何通过ndarray解决数据插入需求? - 插入一行数据
python教程,dataframe如何通过ndarray解决数据插入需求?(图3-3)

结束语

如果你需要插入的是多行数据,可以参考ndarray的数据插入篇内容,做出更多例子。

更多python教程,请点击苏南大叔的博客文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python