如何折叠Pandas数据框架列和连接字符串

zsbz8rwp  于 2022-11-27  发布在  其他
关注(0)|答案(3)|浏览(129)

我有一个有n列的数据框df0。只有其中一列包含字符串,所有其他列都为空或包含“”字符串。
是否可以将数据框折叠成单列数据框,其中每行都有非空元素?
df0:

A    B     C
1  Car
2  Car 
3       Bike
4  Car
5            Train
6            Train

应给予:

ttygqcqt

ttygqcqt1#

也许是:

>>> df.max(axis=1)
1      Car
2      Car
3     Bike
4      Car
5    Train
6    Train
dtype: object

它是Series,而不是DataFrame,但你可以用df.max(axis=1).to_frame(1)之类的函数来创建一个.

ovfsdjhp

ovfsdjhp2#

如果它们是空字符串而不是NaN,则可以使用. sum:

In [11]: df.fillna('').sum(1)
Out[11]: 
1      Car
2      Car
3     Bike
4      Car
5    Train
6    Train
dtype: object
xkrw2x1b

xkrw2x1b3#

这也是可行的,假设总有一列包含非空字符串:

df.apply(lambda x: [y for y in x.values if y!=''][0],axis=1)

相关问题