变换多列为一家拥有熊猫
我有一个数据帧结构为这样: 变换多列为一家拥有熊猫
我想知道最有效的方式是大熊猫创造,其提取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