导航

Pandas之Dataframe索引,排序,统计,重新设置索引

一:叠加

import pandas as pd

a_list = [df1,df2,df3]
add_data = pd.concat(a_list,ignore_index = True)

其中的ignore_index参数代表是否重新建立索引。

如果df比较多,可以采用如下方法建立a_list

a_list = []
for i in range(len(df)):
     a_list.append(df[i])

 

二:排序

df.sort_values(by=["B","A"] , ascending=(False,False))
df.sort_values(by=["A","B"] , ascending=(False,False))

 

这两个表达式结果不一样,第一个是先按B排的基础上,当B一样时再按A排,第二个是先按照A排完再按B排。

其中ascending默认是FALSE,即默认会按照相应的by中的第几个元素降序排序,当希望用第几个元素升序排序时,可以设置成TRUE

三:统计

df["A"].value_counts()#对A列进行统计,计数然后生成一个只有一个A值和对应计数值。

这个是统计A列中的唯一值有多少。

如果统计多列的计数值,可以采用如下方法

 1 a = [["None" for col in range(3)] for row in
 2 range(len(df["A"]*len(df["B"])
 3 k = 0
 4 for i in range(len(df["A"]):
 5     for j in range(len(df["B"]):
 6         a[k][0] = df.A[i]
 7         a[k][1] = df.B[j]
 8         data_select = df[df.A==x[i]&df.B==x[j]]
 9         a[k][2] = len(data_select)
10         
View Code

 

df["A"].unique()

这个会直接取出A列中的唯一值

四、重新设置索引

df = df.reset_index(drop = True)

重新设置行索引