当前位置:首页 > 编程技术 > 正文内容

如何在 Pandas 中创建一个空的数据帧并向其附加行和列?

yc88810个月前 (07-12)编程技术216

如何在 Pandas 中创建一个空的数据帧并向其附加行和列?

Pandas是一个用于数据操作和分析的Python库。它建立在 numpy 库之上,提供数据帧的有效实现。数据帧是一种二维数据结构。在数据帧中,数据以表格形式在行和列中对齐。它类似于电子表格或SQL表或R中的data.frame。最常用的熊猫对象是数据帧。大多数情况下,数据是从其他数据源(如csv,excel,SQL等)导入到pandas数据帧中的。在本教程中,我们将学习如何创建一个空数据帧,以及如何在 Pandas 中向其追加行和列。

语法

要创建一个空的数据帧并向其追加行和列,您需要遵循以下语法 -

# syntax for creating an empty dataframe df = pd.DataFrame() # syntax for appending rows to a dataframe df = pd.concat([df, pd.DataFrame([['row1_col1', 'row1_col2', 'row1_col3']], columns=['col1', 'col2', 'col3'])], ignore_index=True) # syntax for appending columns to a dataframe df['col_name'] = pd.Series([col1_val1, col1_val2, col1_val3, col1_val4], index=df.index)

我们使用 Pandas.concat 方法将行追加到数据帧。ignore_index 参数用于在追加行后重置数据帧的索引。concat 方法的第一个参数是要与列名连接的数据帧列表。

ignore_index 参数用于在追加行后重置数据帧的索引。Pandas.Series 方法可用于从列表创建系列。列值也可以作为列表传递,而无需使用 Series 方法。

例 1

在此示例中,我们创建了一个空数据帧。然后,通过将列名 ['Name', 'Age'] 传递给 DataFrame 构造函数的 columns 参数,我们在数据帧中创建 2 列。接下来,我们使用 pd.concat 方法将 3 行 ['John', 25]、['Mary', 30]、['Peter', 28] 附加到数据帧。ignore_index参数设置为 True 以在追加行后重置数据帧的索引。

然后,我们将 2 列 [“薪水”、“城市”] 附加到数据帧。“薪水”列值作为系列传递。序列的索引设置为数据帧的索引。“城市”列的列值作为列表传递。

import pandas as pd df = pd.DataFrame() df = pd.DataFrame(columns=['Name', 'Age']) df = pd.concat([df, pd.DataFrame([['John', 25]], columns=['Name', 'Age'])], ignore_index=True) df = pd.concat([df, pd.DataFrame([['Mary', 30]], columns=['Name', 'Age'])], ignore_index=True) df = pd.concat([df, pd.DataFrame([['Peter', 28]], columns=['Name', 'Age'])], ignore_index=True) df['Salary'] = pd.Series([50000, 60000, 70000], index=df.index) df['City'] = ['New York', 'Los Angeles', 'Chicago'] print(df)

输出

    Name Age  Salary         City 0   John  25   50000     New York 1   Mary  30   60000  Los Angeles 2  Peter  28   70000      Chicago

例 2

在此示例中,我们创建了一个空数据帧。然后,通过将列名称 ['Batsman', 'Runs', 'Balls', '5s', '4s'] 传递给 DataFrame 构造函数的 columns 参数,我们在数据帧中创建了 6 列。接下来,我们使用 pd.concat 方法将 4 行 ['MS Dhoni', 100, 80, 8, 1], ['Virat Kohli', 120, 100, 10, 2], ['Rohit Sharma', 100, 80, 8, 1], ['Shikhar Dhawan', 80, 60, 6, 0] 附加到数据帧。然后,我们在数据帧后附加了 2 列 [“罢工率”、“平均值”]。

“罢工率”列的列值作为系列传递。“平均值”列的列值作为列表传递。列表的索引是列表的默认索引。

import pandas as pd df = pd.DataFrame() df = pd.DataFrame(columns=['Batsman', 'Runs', 'Balls', '4s', '6s']) df = pd.concat([df, pd.DataFrame([['MS Dhoni', 100, 80, 8, 1]], columns=['Batsman', 'Runs', 'Balls', '4s', '6s'])], ignore_index=True) df = pd.concat([df, pd.DataFrame([['Virat Kohli', 120, 100, 10, 2]], columns=['Batsman', 'Runs', 'Balls', '4s', '6s'])], ignore_index=True) df = pd.concat([df, pd.DataFrame([['Rohit Sharma', 100, 80, 8, 1]], columns=['Batsman', 'Runs', 'Balls', '4s', '6s'])], ignore_index=True) df = pd.concat([df, pd.DataFrame([['Shikhar Dhawan', 80, 60, 6, 0]], columns=['Batsman', 'Runs', 'Balls', '4s', '6s'])], ignore_index=True) df['Strike Rate'] = pd.Series([125, 120, 125, 133], index=df.index) df['Average'] = [100, 120, 100, 80] print(df)

输出

          Batsman Runs Balls  4s 6s  Strike Rate  Average 0        MS Dhoni  100    80   8  1          125      100 1     Virat Kohli  120   100  10  2          120      120 2    Rohit Sharma  100    80   8  1          125      100 3  Shikhar Dhawan   80    60   6  0          133       80

结论

我们学习了如何使用 Python 中的 Pandas 库创建一个空数据帧以及如何向其追加行和列。我们还了解了一些 Pandas 方法、它们的语法以及它们接受的参数。这种学习对于那些开始使用 Python 中的 Pandas 库对数据帧进行操作的人来说非常有帮助。


本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10618.html

标签: PythonPandas
分享给朋友:

“如何在 Pandas 中创建一个空的数据帧并向其附加行和列?” 的相关文章

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】Java从resources读取文件内容的方法有哪些

【说站】Java从resources读取文件内容的方法有哪些

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构├── main│ ├── java│ │ └── ...

【说站】使用systemctl配置dnspod-shell实现ddns

【说站】使用systemctl配置dnspod-shell实现ddns

这个是毛子路由器上用的脚本,由于碳云的nat服务器公网IP不断的变,因此只好通过ddns来稳定连接nat服务器了。顺便水一篇文章,大家新年快乐。使用前需要将域名添加到 DNSPod 中,并添加一条A记...

【说站】嵌入式Linux下完成LCD屏文字显示(帧缓冲框架)

【说站】嵌入式Linux下完成LCD屏文字显示(帧缓冲框架)

帧缓冲框架是Linux下专门为显示类设备设计的接口,目的是将硬件和软件层分离开,方便应用层的编程,也方便应用层程序移植。帧缓冲框架向驱动层和应用层分别提供了一套标准接口,驱动层按照框架编写驱动,应用层...