我有一个像这样的数据框[![数据框看起来像这样][1]:/image/R7GmM.png 现在我想跳过 nan,以便数据向左移动,即 [![格式化的数据帧应该是这样的] [1]: /image/yGYIy.png
我无法通过 pandas 来做到这一点。如果我有一个大数据集(比如 10 万行),是否可以使用可扩展的解决方案?
[编辑]:这是数据和所需的输出:
#Original df
>>> df
A B C D
0 a NaN c NaN
1 b NaN b a
2 c NaN NaN d
3 d a b c
#Desired output:
A B C D
0 a c
1 b b a
2 c d
3 d a b c
最佳答案
这是一种方法:
从名为 df
的数据框开始:
A B C D
0 a NaN c NaN
1 b NaN b a
2 c NaN NaN d
3 d a b c
应用这些行:
shifted_df = df.apply(lambda x: pd.Series(x.dropna().values), axis=1).fillna('')
shifted_df.columns = df.columns
您将获得生成的 shifted_df
数据帧:
>>> shifted_df
A B C D
0 a c
1 b b a
2 c d
3 d a b c
关于python - 跳过 pandas 数据帧行中的 nan 和移位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49795825/