欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Dataframe的行名及列名排序問(wèn)題

 更新時(shí)間:2023年09月12日 16:54:55   作者:好多好多魚(yú)~  
這篇文章主要介紹了Dataframe的行名及列名排序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Dataframe的行名及列名排序

pandas是Python進(jìn)行數(shù)據(jù)處理中強(qiáng)大的數(shù)據(jù)包,在進(jìn)行數(shù)據(jù)處理的時(shí)候時(shí)常會(huì)用到關(guān)于Dataframe格式數(shù)據(jù)的一些調(diào)整和排序,下面是關(guān)于行列操作的一些總結(jié):

列的重命名

在數(shù)據(jù)處理的時(shí)有時(shí)會(huì)設(shè)計(jì)的列名與想用的列名不匹配,可以使用一下代碼進(jìn)行header的重命名:

df = pd.read_csv(path, header=0)
print(df)
  close        date   high    low    money   open   time  volume
0     66.48  2020-01-02  66.48  65.85  5722474  66.01  09:31     866
1     66.30  2020-01-02  66.48  66.18  2646681  66.22  09:32     399
2     66.37  2020-01-02  66.39  66.16  1279115  66.17  09:33     193
3     66.45  2020-01-02  66.45  66.37  4130439  66.39  09:34     622
4     66.28  2020-01-02  66.48  66.28  2149783  66.45  09:35     324
...     ...         ...    ...    ...      ...    ...    ...     ...
5755  84.17  2020-02-27  84.22  84.12  3081344  84.12  14:56     366
5756  84.17  2020-02-27  84.19  84.14  2263360  84.17  14:57     269
5757  84.14  2020-02-27  84.14  84.14    16896  84.14  14:58       2
5758  84.14  2020-02-27  84.14  84.14        0  84.14  14:59       0
5759  84.09  2020-02-27  84.09  84.09  7182208  84.09  15:00     854
order = ['date', 'time', 'open', 'high', 'low', 'close', 'volume', 'money']
#對(duì)于列進(jìn)行重排序
df = df[order]
print(df)
date   time   open   high    low  close  volume    money
0     2020-01-02  09:31  66.01  66.48  65.85  66.48     866  5722474
1     2020-01-02  09:32  66.22  66.48  66.18  66.30     399  2646681
2     2020-01-02  09:33  66.17  66.39  66.16  66.37     193  1279115
3     2020-01-02  09:34  66.39  66.45  66.37  66.45     622  4130439
4     2020-01-02  09:35  66.45  66.48  66.28  66.28     324  2149783
...          ...    ...    ...    ...    ...    ...     ...      ...
5755  2020-02-27  14:56  84.12  84.22  84.12  84.17     366  3081344
5756  2020-02-27  14:57  84.17  84.19  84.14  84.17     269  2263360
5757  2020-02-27  14:58  84.14  84.14  84.14  84.14       2    16896
5758  2020-02-27  14:59  84.14  84.14  84.14  84.14       0        0
5759  2020-02-27  15:00  84.09  84.09  84.09  84.09     854  7182208

這樣就完成了列名的排序

修改列名

有的時(shí)候設(shè)置的列名不規(guī)范導(dǎo)致格式不一致,可以通過(guò)下列方法直接對(duì)每一列的列名進(jìn)行修改

import pandas as pd
df = pd.read_csv('123.csv',header = 0)
df.columns =['date', 'timetemp', 'open', 'high', 'low', 'close', 'volume', 'money']
print(df)

行的排序

可以按照某一列的值對(duì)于Dataframe進(jìn)行行的排序得到自己想要的排列順序

import pandas as pd
frame = pd.read_csv('321.csv',header = 0)
frame = frame.sort_values('date')
frame.reset_index(drop=True, inplace=True)

DataFrame格式數(shù)據(jù)排序

簡(jiǎn)單說(shuō)關(guān)于排序若只需要按索引、列名排序,如下(True從小到大,F(xiàn)alse反之)

#.sort_index(axis = 0,ascending = True)#axis: 軸方向,默認(rèn)0#ascending: 默認(rèn)True從小到大,Fasle從大到小#如import pandas as pda = [[1,2,3],[2,3,4],[4,6,9],[3,1,5]]b = pd.DataFrame(a, columns = ['b','c','a'])b = b.set_index('b')print(b,'\n-----------')d = b.sort_index(axis = 0,ascending = True)print(d)

axis決定是按行名還是列名排序,

舉例:

  • 按行axis = 0

1

  • 按列axis = 1

2

若需要指定按照某一行/列大小排序

#.sort_values(by, axis = 0,ascending = True)
#如`在這里插入代碼片`
import pandas as pd
a = [[1,2,3],[2,3,4],[4,6,9],[3,5,1]]
b = pd.DataFrame(a, columns = ['b','c','a'])
b = b.set_index('b')
print(b,'\n-----------')
# c = b.sort_values(by = 3,axis = 1,ascending = True)
c = b.sort_values(by = 'c',axis = 0,ascending = True)
print(c)
# d = b.sort_index(axis = 1,ascending = True)
# print(d)
  • 按某一列

3

  • 按某一行

4

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論