变换多列为一家拥有熊猫

我有一个数据帧结构为这样: 变换多列为一家拥有熊猫

我想知道最有效的方式是大熊猫创造,其提取ISN任何值的新列“舞台”什么't'None'在四列中,并将该值用于'stage'列。然后可以在stage列已经提取出每行中不是None的任何值后删除剩余的四列。

这里所涉及的每个列的唯一值的另一个快照:

请注意,在相关的列中的值是字符串类型,无不是真正Nonetype。

回答:

df['New']=df[['A','B','C']].replace('None','').sum(1) 

df

Out[1477]:

A B C New

0 None B None B

1 A None None A

2 None None C C

数据输入

df=pd.DataFrame({'A':['None','A','None'],'B':['B','None','None'],'C':['None','None','C']}) 

回答:

combine_first考虑,假设不是字面'None'的字符串。

df['stage'] = df['doggo'].combine_first(df['floorfer'])\ 

.combine_first(df['pupper'])\

.combine_first(df['puppo'])

另外,对于干儿的方法,使用reduce

from functools import reduce 

...

df['stage'] = reduce(lambda x,y: x.combine_first(y),

[df['doggo'], df['floorfer'], df['pupper'], df['puppo']])

以上是 变换多列为一家拥有熊猫 的全部内容, 来源链接: utcz.com/qa/266114.html

回到顶部