gpt4 book ai didi

python - 使用 DataFrame.sort_index(axis=1) 时出现意外顺序。第一列最后列出

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:24 25 4
gpt4 key购买 nike

我有一个像这样填充的示例 DataFrame:

               Alpha      Beta     Gamma     Delta   Epsilon
Date
2017-01-02 0.854046 NaN 0.681606 0.883779 0.680304
2017-01-01 0.573784 0.407917 0.446668 0.463504 0.136830
2017-01-03 0.556100 0.849009 0.389748 NaN 0.777201

当我按 axis=1(列标题)排序时,“Alpha”列被放在最后一个位置:

df_sorted = df1.sort_index(axis=1)
print df_sorted

输出:

                Beta     Delta   Epsilon     Gamma     Alpha
Date
2017-01-02 NaN 0.883779 0.680304 0.681606 0.854046
2017-01-01 0.407917 0.463504 0.136830 0.446668 0.573784
2017-01-03 0.849009 NaN 0.777201 0.389748 0.556100

谁能解释列的字母数字排序?

谢谢!

最佳答案

也许你在一些列名前面有空格,使用 @rahlf23 设置并进行一些修改:

df = pd.DataFrame([['2017-01-02',  ' 0.854046',       np.nan,  '0.681606',  '0.883779',  '0.680304'],
['2017-01-01', '0.573784', '0.407917', '0.446668', '0.463504', '0.136830'],
['2017-01-03', '0.556100', '0.849009', '0.389748', np.nan, '0.777201']],
columns=['Date', ' Beta', ' Gamma', ' Delta', 'Alpha', ' Epsilon']).set_index('Date')

df.sort_index(axis=1)

输出:

                 Beta     Delta   Epsilon     Gamma     Alpha
Date
2017-01-02 0.854046 0.681606 0.680304 NaN 0.883779
2017-01-01 0.573784 0.446668 0.136830 0.407917 0.463504
2017-01-03 0.556100 0.389748 0.777201 0.849009 NaN

要识别它,您可以使用 df.to_dict():

{' Beta': {'2017-01-01': '0.573784',
'2017-01-02': ' 0.854046',
'2017-01-03': '0.556100'},
' Delta': {'2017-01-01': '0.446668',
'2017-01-02': '0.681606',
'2017-01-03': '0.389748'},
' Epsilon': {'2017-01-01': '0.136830',
'2017-01-02': '0.680304',
'2017-01-03': '0.777201'},
' Gamma': {'2017-01-01': '0.407917',
'2017-01-02': nan,
'2017-01-03': '0.849009'},
'Alpha': {'2017-01-01': '0.463504',
'2017-01-02': '0.883779',
'2017-01-03': nan}}

要修复,您可以使用 .str.strip()

df.columns = df.columns.str.strip()
df.sort_index(axis=1)

输出:

               Alpha       Beta     Delta   Epsilon     Gamma
Date
2017-01-02 0.883779 0.854046 0.681606 0.680304 NaN
2017-01-01 0.463504 0.573784 0.446668 0.136830 0.407917
2017-01-03 NaN 0.556100 0.389748 0.777201 0.849009

关于python - 使用 DataFrame.sort_index(axis=1) 时出现意外顺序。第一列最后列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com