这是因为您将列名作为
set传递,而集合是无序的。将其更改为列表,您应该能够保留顺序:
df = pd.DataFrame(columns = ['seg1_count', 'seg1_mean', 'seg1_std', 'seg1_min', 'seg1_25%', 'seg1_50%', 'seg1_75%', 'seg1_max',
'seg2_count', 'seg2_mean', 'seg2_std', 'seg2_min', 'seg2_25%', 'seg2_50%', 'seg2_75%', 'seg2_max',
'seg3_count', 'seg3_mean', 'seg3_std', 'seg3_min', 'seg3_25%', 'seg3_50%', 'seg3_75%', 'seg3_max',
'seg4_count', 'seg4_mean', 'seg4_std', 'seg4_min', 'seg4_25%', 'seg4_50%', 'seg4_75%', 'seg4_max'])
更具体地说,DataFrame 的创建并没有保留顺序,当你创建集合时顺序是丢失的。
columns_set = {'seg1_count', 'seg1_mean', 'seg1_std', 'seg1_min', 'seg1_25%', 'seg1_50%', 'seg1_75%', 'seg1_max',
'seg2_count', 'seg2_mean', 'seg2_std', 'seg2_min', 'seg2_25%', 'seg2_50%', 'seg2_75%', 'seg2_max',
'seg3_count', 'seg3_mean', 'seg3_std', 'seg3_min', 'seg3_25%', 'seg3_50%', 'seg3_75%', 'seg3_max',
'seg4_count', 'seg4_mean', 'seg4_std', 'seg4_min', 'seg4_25%', 'seg4_50%', 'seg4_75%', 'seg4_max'}
print(columns_set)
{'seg1_50%', 'seg2_count', 'seg4_25%', 'seg3_count', 'seg4_max', 'seg2_25%', 'seg3_min', 'seg4_count', 'seg2_std', 'seg4_75%', 'seg3_std', 'seg1_mean', 'seg2_50%', 'seg3_25%', 'seg1_75%', 'seg3_mean', 'seg1_max', 'seg3_75%', 'seg2_max', 'seg1_min', 'seg3_max', 'seg4_50%', 'seg2_75%', 'seg2_min', 'seg1_count', 'seg4_mean', 'seg3_50%', 'seg1_std', 'seg4_min', 'seg1_25%', 'seg2_mean', 'seg4_std'}
columns_list = ['seg1_count', 'seg1_mean', 'seg1_std', 'seg1_min', 'seg1_25%', 'seg1_50%', 'seg1_75%', 'seg1_max',
'seg2_count', 'seg2_mean', 'seg2_std', 'seg2_min', 'seg2_25%', 'seg2_50%', 'seg2_75%', 'seg2_max',
'seg3_count', 'seg3_mean', 'seg3_std', 'seg3_min', 'seg3_25%', 'seg3_50%', 'seg3_75%', 'seg3_max',
'seg4_count', 'seg4_mean', 'seg4_std', 'seg4_min', 'seg4_25%', 'seg4_50%', 'seg4_75%', 'seg4_max']
print(columns_list)
['seg1_count', 'seg1_mean', 'seg1_std', 'seg1_min', 'seg1_25%', 'seg1_50%', 'seg1_75%', 'seg1_max', 'seg2_count', 'seg2_mean', 'seg2_std', 'seg2_min', 'seg2_25%', 'seg2_50%', 'seg2_75%', 'seg2_max', 'seg3_count', 'seg3_mean', 'seg3_std', 'seg3_min', 'seg3_25%', 'seg3_50%', 'seg3_75%', 'seg3_max', 'seg4_count', 'seg4_mean', 'seg4_std', 'seg4_min', 'seg4_25%', 'seg4_50%', 'seg4_75%', 'seg4_max']