python - 如何使用新的索引和列更新 Pandas DataFrame

标签 python pandas dataframe

我有

     a,   b,   c
u, 111, 112, 113
v, 121, 122, 123
x, 131, 132, 133

     b,   c,   d
x, 211, 212, 213
y, 221, 222, 223
z, 231, 232, 233

我想到达:

     a,   b,   c,   d
u, 111, 112, 113, NaN
v, 121, 122, 123, NaN
x, 131, 343, 345, 213
y, NaN, 221, 222, 223
z, NaN, 231, 232, 233

这里添加了公共(public)数据。如果它们不常见,则保留数据。如果数据不存在于任一 DF 上,则添加 NaN

这就像 2 个 DataFrame 的“外部”添加。

最佳答案

您可以使用df.add在轴 1 上使用 fill_value 参数。

# df
#      a    b    c
# u  111  112  113
# v  121  122  123
# x  131  132  133

#df1
#      b    c    d
# x  211  212  213
# y  221  222  223
# z  231  232  233

df.add(df1, axis=1, fill_value=0)

       a      b      c      d
u  111.0  112.0  113.0    NaN
v  121.0  122.0  123.0    NaN
x  131.0  343.0  345.0  213.0
y    NaN  221.0  222.0  223.0
z    NaN  231.0  232.0  233.0

关于python - 如何使用新的索引和列更新 Pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67145500/

相关文章:

python - Pandas ,适用于作为数据框行条目的参数

python - 阅读特定行并使用 python 忽略其他行

python - 如何将多个 if else 循环转换为 python 中的列表理解

python - Pandas 完整外部索引与 NaN 连接以处理不匹配的索引

excel - 由于依赖问题,无法使用spark-excel导出数据框

python - Popen.communicate() 抛出 OSError : "[Errno 10] No child processes"

python - Python 中嵌套 NamedTuples 的 JSON 反序列化

python - Pandas 基于更高分辨率的数据重新采样

r - 将编码应用于整个数据表

R 在不指定列名的情况下聚合大量列