pandas不同结构的dataframe整列复制
对于具有不同结构的pandas dataframe,若要将其中一列复制到另一dataframe的特定列下,可以遵循以下步骤:
1. 将目标列与数据进行合并
使用pd.concat()函数将要复制的列与其他数据合并。例如,要将df2中的d列添加到df1中的a列下方,可以执行以下操作:
new_a = pd.concat([df1['a'], df2['d']], ignore_index=true)
登录后复制
2. 重置dataframe索引
为了确保dataframe中的行数与合并后的数据一致,需要使用reindex()函数重置df1的索引。
df1 = df1.reindex(range(df2.shape[0] + df1.shape[0]))
登录后复制
3. 赋值复制的列
最后,使用=运算符将合并后的列赋值给df1中的相应列。
df1['a'] = new_a
登录后复制
这样,df1的a列就添加了df2中的d列,两个dataframe的结构也保持一致。
示例代码:
import pandas as pd # 初始化dataframe df1 = pd.dataframe({ 'a': range(4), 'b': range(4), 'c': range(4), 'd': range(4) }) df2 = pd.dataframe({ 'd': [11, 22, 33], 'e': ['aa', 'bb', 'cc'] }) # 合并列 new_a = pd.concat([df1['a'], df2['d'], df2['e']], ignore_index=true) # 重置索引 df1 = df1.reindex(range(df2.shape[0] + df1.shape[0])) # 赋值复制的列 df1['a'] = new_a print(df1)
登录后复制
执行后的输出为:
A B C D E 0 0 1 0 0 aa 1 1 2 1 1 bb 2 2 3 2 2 cc 3 3 0 3 3 NaN 4 0 1 4 4 NaN
登录后复制
以上就是Pandas不同结构DataFrame如何整列复制?的详细内容,更多请关注php中文网其它相关文章!