其他分享
首页 > 其他分享> > pandas cookbook

pandas cookbook

作者:互联网

目录

pandas cookbook

rename()

给df的列重命名,字典的键值对的形式

df.rename(columns={
"原名":"新名",
"原名":"新名",
"原名":"新名"
......
}
inplace=true
)

.sort_values(ascending)

ascend=True,默认,ascend=False
和r里面的arrange一样的功能
排序函数,可以安照升序和降序进行排序,还可以同时指定两个

homelessness_reg_fam = homelessness.sort_values(["region", "family_members"], ascending=[True, False])

日期处理

to_datetime[format=]

subset

提取子集

.isin()

类似于r里面的%in% ,判断是否存在,可以进行过滤

运算符的使用

可以直接进行两列+-*/。。
df.[""]+df.[""]

agg()

可以直接基于列计算统计量

除了一般的列之外,时间序列也是同样适用的

The .agg() method allows you to apply your own custom functions to a DataFrame, as well as apply functions to more than one column of a DataFrame at once, making your aggregations super efficient.可以使用agg自定义函数

agg里面可以同时计算几个统计量,不是限定一个

counting

drop_duplicates()

去除重复的行
参数

.value_counts().

查看有多少的不同值,并计算每个值中多多有重复值的数量

group

Grouped summary statistics

sales_by_type = sales.groupby("type")["weekly_sales"].sum()

分组之后可以选取特定特征进行统计运算
可以使用多个变量进行分组,可以统计指定特征的统计值

sales_by_type_is_holiday = sales.groupby(["type", "is_holiday"])["weekly_sales"].sum()

额原来的汇总的是这么来的

unemp_fuel_stats = sales.groupby("type")[["unemployment", "fuel_price_usd_per_l"]].agg([np.min, np.max, np.mean, np.median])

<script.py> output:

                           unemployment                      fuel_price_usd_per_l                     
                 amin   amax   mean median                 amin   amax   mean median
    type                                                                            
    A           3.879  8.992  7.973  8.067                0.664  1.107  0.745  0.735
    B           7.170  9.765  9.279  9.199                0.760  1.108  0.806  0.803

pivot_table()

数据透视表

print(sales.pivot_table(values="weekly_sales", index="department", columns="type", aggfunc=aggfunc=[np.sum,np.mean],fill_value=0, margins=True))

set_index()

设置多个索引

# Index temperatures by country & city
temperatures_ind = temperatures.set_index(["country", "city"])

# List of tuples: Brazil, Rio De Janeiro & Pakistan, Lahore
rows_to_keep = [("Brazil", "Rio De Janeiro"), ("Pakistan", "Lahore")]

# Subset for rows to keep
print(temperatures_ind.loc[rows_to_keep])
<script.py> output:
                                  date  avg_temp_c
    country  city                                 
    Brazil   Rio De Janeiro 2000-01-01      25.974
             Rio De Janeiro 2000-02-01      26.699
             Rio De Janeiro 2000-03-01      26.270
             Rio De Janeiro 2000-04-01      25.750
             Rio De Janeiro 2000-05-01      24.356
    ...                            ...         ...
    Pakistan Lahore         2013-05-01      33.457
             Lahore         2013-06-01      34.456
             Lahore         2013-07-01      33.279
             Lahore         2013-08-01      31.511
             Lahore         2013-09-01         NaN
    
    [330 rows x 2 columns]

sort_index()

默认根据行标签对所有行排序,或根据列标签对所有列排序,或根据指定某列或某几列对行排序。
注意:sort_index()可以完成和df. sort_values()完全相同的功能,但python更推荐用只用df. sort_index()对“根据行标签”和“根据列标签”排序,其他排序方式用df.sort_values()

ret_index()

还原索引

loc

iloc

标签:sort,index,01,False,df,sales,cookbook,pandas
来源: https://www.cnblogs.com/gaowenxingxing/p/12467742.html