pandas -小总结

import pandas as pd
import numpy as np
  1. 索引的相关操作
data = 'http://www.gairuo.com/file/data/dataset/team.xlsx'
df = pd.read_excel(data)
df
nameteamQ1Q2Q3Q4
0LiverE89212464
1ArryC36373757
2AckA57601884
3EorgeC93967178
4OahD65496186
.....................
95GabrielC48598774
96Austin7C21313043
97Lincoln4C9893120
98EliE11745891
99BenE21434174

100 rows × 6 columns

 # 设置name作为索引
df.set_index('name')#  若后面添加 inplace=True则改变原表的结构
teamQ1Q2Q3Q4
name
LiverE89212464
ArryC36373757
AckA57601884
EorgeC93967178
OahD65496186
..................
GabrielC48598774
Austin7C21313043
Lincoln4C9893120
EliE11745891
BenE21434174

100 rows × 5 columns

df
nameteamQ1Q2Q3Q4
0LiverE89212464
1ArryC36373757
2AckA57601884
3EorgeC93967178
4OahD65496186
.....................
95GabrielC48598774
96Austin7C21313043
97Lincoln4C9893120
98EliE11745891
99BenE21434174

100 rows × 6 columns

#  重置索引  df.reset_index(drop = True ) 表示重置成功
df.head().rank()
nameteamQ1Q2Q3Q4
04.05.04.01.02.02.0
12.02.51.02.03.01.0
21.01.02.04.01.04.0
33.02.55.05.05.03.0
45.04.03.03.04.05.0
df.get('name',0)
0        Liver
1         Arry
2          Ack
3        Eorge
4          Oah
        ...   
95     Gabriel
96     Austin7
97    Lincoln4
98         Eli
99         Ben
Name: name, Length: 100, dtype: object
# df.truncate(before=2,after=4)

  1. 数据类型的转换
# astype() 对于单个列转换利用astype(''),对于多个列进行转换利用astype(字典)
# 排序 sort_values(by = [],ascending=[])
# df.assign(列名= 数据)

查找过滤
df.where(df>60,不及格)
np.where(df>=60,及格,不及格)
df.where(df==100100000,np.where(df>=60,及格,不及格))

数据透视表
pd.pivot_table(data,index=[‘A’,‘B’],columns=[‘C’],aggfunc=np.sum,fill_value=0,margin=True)

df1 = pd.DataFrame({
      'A':['a1','a1','a1','a2','a2','a2'],
      'B':['b1','b1','b1','b2','b2','b2'],
      'C':['c1','c1','c1','c2','c2','c2'],
      'D':[1,2,3,4,5,6,]
})
df1
ABCD
0a1b1c11
1a1b1c12
2a1b1c13
3a2b2c24
4a2b2c25
5a2b2c26
df1.pivot_table(index='A',columns='B',values='D')
Bb1b2
A
a12.0NaN
a2NaN5.0

数据清洗基本操作

1 缺失值
df.isna()
df.isnull()

缺失值筛选
缺失的行 df.loc[df.isna().any(1)]
\ \ 缺失的列 df.loc[:,df.isna().any()]

缺失值的填充

填充平均值 df.fillna(df.mean())

# 缺失值的删除
# df.dropna(axis=0,inplace=True)

指定值的替换

ser = pd.Series([0,1,2,3])
ser.replace(0,5)
0    5
1    1
2    2
3    3
dtype: int64

重复值的识别

# df.duplicated() 

重复值的删除

#  df.drop_duplicates(subset=None,keep='first',inplace=False,ignore_index=False)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值