Python pandas 将行插入 DF 并将缺失值作为 Nan 的快速方法

标签 python pandas insert

我正在寻找一种快速方法将 df_row (只有 1 行的数据帧,列可能小于 24)插入 df_master (只有很少行的数据帧)千行 24 列)

例如:

df_row
A B C D E F G .... H
1 2 3 4 5 6 7 .... 8

df_master
A B C D ........................... Y

我正在寻找一种将 df_row 插入到 df_master 的快速方法,并为 df_row 中不存在的列设置 NaN。

以前,我在做

df_master = df_master.append(df_row) 

但是随着 df_master 变得更好,这种方法会变得更慢。

有没有一种快速的方法来就地追加?

最佳答案

您可以使用setting with enlargement ,但需要将 df1 转换为 Series - 例如通过选择iloc :

d = {'F': {0: 6}, 'D': {0: 4}, 'B': {0: 2}, 'C': {0: 3}, 
'A': {0: 1}, 'E': {0: 5}, 'G': {0: 7}, 'H': {0: 8}}
df = pd.DataFrame(d)
print (df)
   A  B  C  D  E  F  G  H
0  1  2  3  4  5  6  7  8

df1 = pd.DataFrame([[10,20,30,40]], columns=list('ACDE'))
print (df1)
    A   C   D   E
0  10  20  30  40

df.loc[len(df.index)] = df1.iloc[0]
print (df)
       A    B     C     D     E    F    G    H
 0   1.0  2.0   3.0   4.0   5.0  6.0  7.0  8.0
 1  10.0  NaN  20.0  30.0  40.0  NaN  NaN  NaN

关于Python pandas 将行插入 DF 并将缺失值作为 Nan 的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45439914/

相关文章:

python - 如何使用 GitHub 操作为我的 Python 项目测试我的 Dockerfile?

python - 阅读擅长工作表,并创建一个DataFrame。语法错误: cannot assign to function call

python - 在python中解析CSV的特定列

linq - 向匿名 Linq 结果集添加人工行

mysql - 从 C#.net 连接到主机上的 MySql 数据库

mysql - 向索引表中批量插入数据时,时间成本是否恒定?

python - 蒙特卡罗和面积计算

Python系列,其中值是列表,获取另一个系列,其索引列表对应于每个项目列表

python - 模拟/修补对象属性以测试方法

python - 计算 Dataframe 一个月中下第三个星期五之前的天数