如何折叠多列pandas

时间:2015-09-05 22:17:28

标签: python excel csv pandas

我有这样的数据并使用pandas / excel / python。

A     B     C     D
Bus        Car
Plane
                 Car
     Boat  Car 
     Boat  Car   Plane

我试图像我这样获取数据:

A     B     C     D
Bus  Car
Plane
Car
Boat Car
Boat Car  Plane 

值(字符串)转移的位置取决于单元格是否为空白。

我已经查看了df.max,但它似乎并不适合多列以及How to collapse Pandas Dataframe上的其他建议

我不想连接字符串,只是把所有内容都移开。

我看到了使用" R"如果可能的话,我想坚持使用python / pandas。

感谢。

2 个答案:

答案 0 :(得分:2)

这个怎么样:

print df.apply(lambda x: pd.Series(x[~x.isnull()].values), axis=1)
       0    1      2
0    Bus  Car    NaN
1  Plane  NaN    NaN
2    Car  NaN    NaN
3   Boat  Car    NaN
4   Boat  Car  Plane

您可以随时fillna()结果空白。

答案 1 :(得分:0)

笨拙,但工作:

show in explorer

此部分yesAnswer = ["yes","ya","Yes"] start = input("Would you like to start?[Yes or No]") if start in yesAnswer: print("Awesome! Let's roll!") else: print("Alrighty then. Bye bye.") 用于保留原始形状和列。