python - 如何在 DataFrame 上执行 concat 时分配默认值

标签 python pandas dataframe

结果数据帧获取分配给列b的NaN值,该值未出现在数据帧dfa中:

dfa = pd.DataFrame({'a':[1]})
dfb = pd.DataFrame({'a':[10], 'b':[10]})
result = pd.concat([dfa, dfb])
print result 

结果如下:

    a     b
0   1   NaN
0  10  10.0

我宁愿分配一个整数值0,而不是NaN。能做到吗?

最佳答案

您可以使用reindex dfadfb 的列并添加参数 fill_value=0:

dfa = dfa.reindex(columns=dfb.columns, fill_value=0)
print (dfa)
   a  b
0  1  0

result = pd.concat([dfa, dfb], ignore_index=True)
print (result) 
    a   b
0   1   0
1  10  10

关于python - 如何在 DataFrame 上执行 concat 时分配默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40231627/

相关文章:

python - 奇怪的 Python 导入问题 - 内置函数的相对导入?

python - 删除值为 0 或 999999 的列

python - 添加辅助 y 轴

python - 在python中,发生异常时锁会自动释放吗?

python - 如何在树莓派中更新 python

python - 以 python sorted() 函数方式对 pandas.DataFrame 进行排序

python 将每小时数据 [1-24] 添加到日期时间数据

apache-spark - 使用结构化流将数组扩展到 spark 中的列

python - 将一些列转换为 float

python - 如何从 Pandas 数据框中获取 key