Python Pandas:从value不为null的其他列中创建新列

swang16

我有一个这样的数据框

----------------
RecID| A  |B
----------------
1    |NaN | x 
2    |y   | NaN 
3    |z   | NaN
4    |NaN | a 
5    |NaN | b 

我想从A和B创建一个新列C,这样,如果A为空,则填充B,如果B为空,则填充A:

----------------------
RecID|A   |B    |C 
----------------------
1    |NaN | x   |x
2    |y   | NaN |y 
3    |z   | NaN |z
4    |NaN | a   |a
5    |NaN | b   |b

最后,如果我有两个以上的列,例如,我有AZ列,并想从AZ列中创建一个新的A1列,是否有一种有效的方法呢?

迪斯

如果是多列,则可以使用正向填充。本示例假定您要构建所有列“ A”至“ Z”的组合:

df['AZ'] = df.loc[:,'A':'Z'].fillna(method='ffill',axis=1)['Z']

此方法也适用于两列:

df['C'] = df.loc[:,'A':'B'].fillna(method='ffill',axis=1)['B']
#0    x
#1    y
#2    z
#3    a
#4    b

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据其他列中的值在python 3(pandas)数据框中创建新列

如何基于Python Pandas中的其他列在DataFrame中创建新列?

根据python pandas中其他列的值创建新列

Python pandas - groupby之后,如何根据其他列中的值创建新列

从 python pandas 中的其他列创建列

使用其他两列中的数组创建新列,并在python pandas中对其进行测试

Python Pandas:根据其他列中的唯一标识符创建具有最小值的新列

Python Pandas:基于组内的最大值创建新列,但使用其他(字符串)列中的值

python pandas dataframe从其他列的单元格创建新列

Pandas/Python - 根据其他列的交叉引用创建新列

Python-根据其他列的条件创建新列

通过引用Python中数据框中的其他列来创建新列

Pandas/Python:如何根据其他列的值创建新列并将额外条件应用于此新列

Python:pandas DataFrame基于其他列的新列

如何通过使用python中的现有列创建以其他列为条件的新列

Python:根据其他两列中的值有条件地创建新列

Python groupby - 根据其他列中的值创建一个新列

python pandas根据其他列中的条件进行新列分类

Python Pandas:如果键在其他列中,则如何为新列分配值

根据python pandas数据框中其他列的值计算新列

根据其他列值/ Pandas -Python 在数据框中创建 ID 列

如果其他条件在python中在dataframe中创建一个新列

基於 Python 中的其他列分配新列

如果同一行中的其他列与某个字符串匹配,Python Pandas 会创建新列

如何基于其他列在Python中创建等级列

在Python Pandas中创建新的QuarterEnd列

Python-添加新列并考虑其他列值以创建新列的值

Python:使用其他列将值分配给Pandas中的新列作为列表

根据Python Pandas中的其他列对列进行分组