python - 如何在同一数据框中合并 pandas 列?

标签 python python-3.x pandas merge

我有以下 pandas 数据框:

    colA        ColB       ColC
0               D
1                           G
2   A       
3               B
4   C

如何将其合并到(*):

    colA
0   D
1   G
2   A
3   B
4   C

到目前为止我尝试过:

df = pd.DataFrame.merge([df.ColA, df.ColB, df.ColC], how='right')
df

但是,它不起作用。我怎样才能得到(*)?

最佳答案

您可以使用DataFrame.sum :

df = df.sum(axis=1)

如果 NaN 值,您可以 fillna第一:

df = df.fillna('').sum(axis=1)

print (df)
0    D
1    G
2    A
3    B
4    C
dtype: object

另一个使用apply的解决方案 - join:

df = df.apply(''.join, axis=1)
#df = df.apply(lambda x: ''.join(x), axis=1)
print (df)
0    D
1    G
2    A
3    B
4    C
dtype: object

解决方案 Series.combine_first ,但需要 NaN 值:

print (df)
  colA ColB ColC
0  NaN    D  NaN
1  NaN  NaN    G
2    A  NaN  NaN
3  NaN    B  NaN
4    C  NaN  NaN

df = df.colA.combine_first(df.ColB).combine_first(df.ColC)
print (df)
0    D
1    G
2    A
3    B
4    C
Name: colA, dtype: object

关于python - 如何在同一数据框中合并 pandas 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41509577/

相关文章:

python - 将列附加到大型 CSV 文件的工具(按列合并 CSV 文件)

javascript - 仅匹配完整数字正则表达式

python import 语句在函数中失败

Python:对交易进行分类的最有效方法

python - 整数的 numpy bool 数组表示

python - 安装 Pillow 后无法导入 PIL

python-3.x - ImageDataGenerator 未定义

python - 关联表的列到行

python - 在 Pandas 数据框中成对计数

python - Google Apps 引擎读取 URL 查询(python)