【问题标题】:How to rearrange each row of the pandas dataframe [duplicate]如何重新排列熊猫数据框的每一行[重复]
【发布时间】:2019-04-19 17:50:35
【问题描述】:

我需要重新排列数据框同一行中的数据,其中某些列可能没有数据。原始数据框:

hash   a1   a2   a3    a4    a5   
0      1    2    nan   nan   nan  
1      1    nan  nan   nan   nan   
2      1    2    3     nan   nan   
3      1    2    3     4     5

我期望拥有的数据框:

hash   a1     a2     a3    a4    a5   
0      nan    nan    nan   1     2      
1      nan    nan    nan   nan   1   
2      nan    nan    1     2     3        
3      1      2     3      4     5

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以从this post 使用justify

    a = justify(df.loc[:,'a1':].values, invalid_val=np.nan, side='right')
    print(a)
    
    array([[nan, nan, nan,  1.,  2.],
           [nan, nan, nan, nan,  1.],
           [nan, nan,  1.,  2.,  3.],
           [ 1.,  2.,  3.,  4.,  5.]])
    

    pd.DataFrame(a, columns = df.loc[:,'a1':].columns).assign(hash=df.hash)
    
        a1   a2   a3   a4   a5  hash
    0  NaN  NaN  NaN  1.0  2.0     0
    1  NaN  NaN  NaN  NaN  1.0     1
    2  NaN  NaN  1.0  2.0  3.0     2
    3  1.0  2.0  3.0  4.0  5.0     3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-13
      • 2019-03-20
      • 1970-01-01
      • 2012-06-19
      相关资源
      最近更新 更多