I have a Data Frame df0 with n columns. Only one of the columns contains a string, all other columns are empty or contain the "" string.
Is it possible to collapse the data frame into a single column data frame where for each row I get the non-empty element?
df0:
A B C
1 Car
2 Car
3 Bike
4 Car
5 Train
6 Train
should give:
1
1 Car
2 Car
3 Bike
4 Car
5 Train
6 Train
Maybe:
>>> df.max(axis=1)
1 Car
2 Car
3 Bike
4 Car
5 Train
6 Train
dtype: object
which is a Series
, not a DataFrame
, but you could make one using df.max(axis=1).to_frame(1)
or something.
If they are empty strings rather than NaN you can use .sum:
In [11]: df.fillna('').sum(1)
Out[11]:
1 Car
2 Car
3 Bike
4 Car
5 Train
6 Train
dtype: object
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With