在 pandas.DataFrame,添加一行

本文介绍了如何使用Python的Pandas库向DataFrame中添加行的方法,包括使用pandas.concat()和DataFrame.append()两种方式,并通过示例展示了批量添加行的高效方式。

在 pandas.DataFrame,添加一行 

示例:


>df = DataFrame(columns=('lib', 'qty1', 'qty2'))
 for i in range(5):
 df.loc[i] = [randint(-1,1) for n in range(3)]

>print(df)
 lib qty1 qty2
0 0 0 -1
1 -1 -1 1
2 1 -1 1
3 0 0 0
4 1 -1 -1

[5 rows x 3 columns]


你可以使用 pandas.concat() 或者 DataFrame.append() 。 有关详细信息和示例,请参见合并,联接和连接 。

我也有一个类似的问题,如果我为每一行创建一个数据框架并将它附加到它所花费的主数据帧 30分钟。 另一方面,如果使用下面的方法,我在几秒内就成功了。


rows_list = []
for row in rows:

 dict1 = {}
 # get the row in dictionary format
 dict1.update(blah..) 

 rows_list.append(dict1)

df = pd.DataFrame(rows_list) 




在 Python 的 pandas 库中,将一个 DataFrame 的行转入另一个 DataFrame 有多种方法。 ### 方法一:使用 `append` 方法(适用于 pandas 较旧版本) ```python import pandas as pd # 创建第一个 DataFrame df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # 创建第二个 DataFrame df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]}) # 将 df2 的行追加到 df1 中 df_combined = df1.append(df2, ignore_index=True) print(df_combined) ``` 在上述代码中,使用 `append` 方法将 `df2` 的行追加到 `df1` 中,`ignore_index=True` 表示重新生成索引。不过在较新的 pandas 版本中,`append` 方法已被标记为弃用,建议使用 `concat` 方法。 ### 方法二:使用 `concat` 方法 ```python import pandas as pd # 创建第一个 DataFrame df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # 创建第二个 DataFrame df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]}) # 将 df2 的行连接到 df1 中 df_combined = pd.concat([df1, df2], ignore_index=True) print(df_combined) ``` 这里使用 `concat` 函数将两个 DataFrame 按行连接起来,同样使用 `ignore_index=True` 来重新生成索引。 ### 方法三:使用 `loc` 方法逐行添加 ```python import pandas as pd # 创建第一个 DataFrame df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # 创建第二个 DataFrame df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]}) # 逐行添加 for index, row in df2.iterrows(): df1.loc[len(df1)] = row print(df1) ``` 此方法通过 `iterrows` 遍历 `df2` 的每一行,然后使用 `loc` 方法将其添加到 `df1` 的末尾。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值