Python 熊猫:将数据帧上三角转换为下三角,反之亦然
我添加了一个新函数,该函数将数据帧转换为下三角形(如果是上三角形),反之亦然。我使用的数据总是前两行只填充第一个索引 我试着用这个问题的解决方案 应转化为:Python 熊猫:将数据帧上三角转换为下三角,反之亦然,python,pandas,Python,Pandas,我添加了一个新函数,该函数将数据帧转换为下三角形(如果是上三角形),反之亦然。我使用的数据总是前两行只填充第一个索引 我试着用这个问题的解决方案 应转化为: Data : 0 1 2 3 0 NaN 8.000000 0.631622 0.357616 1 NaN NaN 5.000000 0.747064 2 NaN NaN NaN
Data :
0 1 2 3
0 NaN 8.000000 0.631622 0.357616
1 NaN NaN 5.000000 0.747064
2 NaN NaN NaN 0.421655
3 NaN NaN NaN 1.000000
就像行和列需要相反的顺序一样
yourdf=df.iloc[::-1,::-1]
yourdf
Out[94]:
3 2 1 0
3 NaN 8.0 0.631622 0.357616
2 NaN NaN 5.000000 0.747064
1 NaN NaN NaN 0.421655
0 NaN NaN NaN 1.000000
您的系统应该安装了numpy。因此,使用
numpy.flip
是另一种方法,它提供了更可读的选项
In [722]: df
Out[722]:
0 1 2 3
0 1.000000 NaN NaN NaN
1 0.421655 NaN NaN NaN
2 0.747064 5.000000 NaN NaN
3 0.357616 0.631622 8.0 NaN
In [724]: import numpy as np
In [725]: df_flip = pd.DataFrame(np.flip(df.values))
In [726]: df_flip
Out[726]:
0 1 2 3
0 NaN 8.0 0.631622 0.357616
1 NaN NaN 5.000000 0.747064
2 NaN NaN NaN 0.421655
3 NaN NaN NaN 1.000000
In [722]: df
Out[722]:
0 1 2 3
0 1.000000 NaN NaN NaN
1 0.421655 NaN NaN NaN
2 0.747064 5.000000 NaN NaN
3 0.357616 0.631622 8.0 NaN
In [724]: import numpy as np
In [725]: df_flip = pd.DataFrame(np.flip(df.values))
In [726]: df_flip
Out[726]:
0 1 2 3
0 NaN 8.0 0.631622 0.357616
1 NaN NaN 5.000000 0.747064
2 NaN NaN NaN 0.421655
3 NaN NaN NaN 1.000000