高效地将多行追加到 Pandas DataFrame
处理数据时,经常会遇到需要增量追加行的情况现有的 DataFrame。虽然使用 df._set_value() 一次设置一个字段的值的方法是可行的,但添加多行的效率可能很低。
使用 df.loc[i] 进行高效行添加
添加多行的更好、更简洁的方法是使用 df.loc[i]。它的工作原理如下:
导入必要的库:
import pandas as pd from numpy.random import randint
使用所需的列创建一个空的 DataFrame:
df = pd.DataFrame(columns=['lib', 'qty1', 'qty2'])
迭代您想要的行数想要添加:
for i in range(5):
在循环内,使用 df.loc[i] 访问索引为 i 的行,并为 lib、qty1 和 qty2 分配所需的值列。例如:
df.loc[i] = ['name' + str(i)] + list(randint(10, size=2))
示例:
这是一个完整的示例,演示如何使用 df.loc[i] 追加五行给我们的DataFrame:
import pandas as pd from numpy.random import randint df = pd.DataFrame(columns=['lib', 'qty1', 'qty2']) for i in range(5): df.loc[i] = ['name' + str(i)] + list(randint(10, size=2)) print(df)
输出:
lib qty1 qty2 0 name0 3 3 1 name1 2 4 2 name2 2 8 3 name3 2 1 4 name4 9 6
使用 df.loc[i] 提供了一种方便高效的方法来一次向 DataFrame 添加多行,无需多次调用 df._set_value().
以上是如何有效地将多行附加到 Pandas DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!