python - 从两列字符串创建 pandas 列包含 NA

标签 python string pandas

我有两列包含字符串和 NA,我想将它们合并为 1。我觉得这应该相当简单,但似乎无法让它工作或在这里找到答案。下面是我想要的结果。

S1  S2  S
A   Nan A
A   Nan A
A   Nan A
A   Nan A
Nan C   C
Nan C   C
Nan C   C
Nan C   C
Nan Nan Nan
Nan Nan Nan
Nan Nan Nan
B   Nan B
B   Nan B
B   Nan B
B   Nan B
B   Nan B

我以为df['S'] = df['S1']+ df['S2']可以,但不行。

真的感觉会有一个明显的修复,提前谢谢。

最佳答案

使用combine_first :

df['S_new'] = df['S1'].combine_first(df['S2'])
print (df)
     S1   S2    S S_new
0     A  NaN    A     A
1     A  NaN    A     A
2     A  NaN    A     A
3     A  NaN    A     A
4   NaN    C    C     C
5   NaN    C    C     C
6   NaN    C    C     C
7   NaN    C    C     C
8   NaN  NaN  NaN   NaN
9   NaN  NaN  NaN   NaN
10  NaN  NaN  NaN   NaN
11    B  NaN    B     B
12    B  NaN    B     B
13    B  NaN    B     B
14    B  NaN    B     B
15    B  NaN    B     B

关于python - 从两列字符串创建 pandas 列包含 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52606331/

相关文章:

python - 来自 Python 的 C 信号量

python - Bootstrap 弹出窗口中的 Django 登录表单

c++ - 如何在一行上连接多个 C++ 字符串?

python - 使用自定义函数后如何存储新的数据框?

Python - 如何在一个类被另一个模块导入之前覆盖它的功能?

python - Python 字符串 `\x` 中的前导 `\xaa` 是什么意思

c - 如何在字符串数组中查找重复的字符串

python - 复制行的期望索引列

python - 在 Pandas 中,如何将一系列 float 或无整数转换为带整数的字符串

python - 无法在 pybrain 上构建正确的 ffnn