estherAI

2022-02-28   阅读量: 425

Python pandas 数据清洗 数据读取 数据查看

pandas常用方法

扫码加入数据分析学习群

一、数据读取

1. pd.read_csv()/df.to_csv()

2. pd.read_excel()/df.to_excel():可以写到具体的sheet

3. pd.read_json()/()df.to_json()

4. pd.read_html():返回列表形式,列表中数据为数据帧

5. pd.read_clipboard()

6. 数据库读取: import pymysql from sqlalchemy import create_engine import sqlalchemydb= pymysql.connect(host="localhost",user="root",password="230400",db="test",port=3306) engine = create_engine('mysql+pymysql://root:230400@localhost/test?charset=utf8') df.to_sql('', engine,index=False,if_exists='replace') #保存 engine = create_engine('mysql+pymysql://root:230400@localhost/test?charset=utf8') pd.read_sql('', engine)#读取

二、数据查看

1. df.head()/df.tail()

2. df.sample():随机采样

3. df.shape:形状

4. df.info():缺失情况,数据类型

5. df.describe():统计描述性信息,可查看数值型和类别型

6. df.T:转置

7. df.values:值,数组

8. df.index:行索引

9. df.columns:列索引

10. df.dtypes:数据类型

三、索引设置和修改

1. df.set_index():将某列设置索引

2. df.reset_index():恢复默认索引

3. df.reindex():重新索引

4. df.index=[] #覆盖

5. df.columns=[] #覆盖

6. df.rename(columns = {'':''}, inplace=True):修改某列的名字

四、缺失值和重复值处理

1. df.isnull()/df.notnull():缺失值判断

2. df.isnull().sum()

3. df.dropna():删除,指定某列

4. df.fifillna():填充

5. df.duplicated():重复值

6. df.duplicated().sum()

7. df.drop_duplicates():重复值删除

8. df.replace():替换

五、选择和过滤

1. df['A']:选择列

2. df.loc['a':'c'];选择行,显示索引,两边闭合

3. df.loc['a':'c',['A','C']]

4. df.loc['a':'c','A':'C']

5. df.iloc[3:5]

6. df.iloc[1:3,2:4]:隐式,左闭右开

7. df[df['A'].notull()] #选择A列非空的所有行

8. df.loc[df['A']>0,df.loc['a']>0] #a行大于零的所有列,A列大于0的所有行

六、行列的增加和删除

1. df.loc['d']=[4,4,4]:增加行

2. df['four']=[3,4,5]:增加列

3. df.drop(['one','two'],axis=0)

4. df.pop()

5. df.insert() :插入

七、拼接与合并

1. df = df.append(df1):纵向拼接

2. pd.concat([df1, df2], axis=1):可以横向拼接和纵向拼接

3. pd.merge(left, right, on='key'):主键合并 4. df1.join(df2)

八、统计和排序

1. S.value_counts() :计数

2. S.nlargest()# .nsmallest

3. S.unique():唯一值,取值

4. S.nunique():取值数量

5. df.nlargest(2,'A')

6. df.sum()/df.mean()/df.var()/data.count():默认按照列进行处理

7. df.sort_index():按照索引(行索引和列索引)排序

8. df.sort_values():按照值排序,多重排序

九、重塑与轴向旋转

1. df.stack()

2. df.unstack()

3. df.pivot(index=None, columns=None, values=None)

十、数据运算

1. s1+s2 2. df1+df

2:索引自动对齐

3. s.map() 映射

4. s.apply()

5. df.apply()

6. df.applymap()

十一、数据类型变换

1. s.astype(str)

2. pd.to_numeric()

3. pd.to_datetime():转换为时间戳

十二、分组运算

1. df.groupby().mean() #std,var,min,max,sum

2. df.groupby().apply(lambda x: ): 分组填充;分组排序,返回排序后的前n

3. df.groupby().agg([np.mean]) #标准的函数,stdvarmin,max

4. df.groupby().agg([ptp])#自定义函数

5. df.groupby().agg([np.mean,ptp]) #多个聚合函数

6. df.pivot_table() #透视表,先groupby,再求mean,可以指定

7. pd.crosstab() #交叉表,统计的是分组的频率

十三、字符串序列操作

1. s.str.len() #字符串长度

2. s.str.lower() #.upper().title() .capitalize() .swapcase()

3. s.str.get(2) #返回元素

4. s.str.fifind('e')#s.str.index('')#返回索引

5. s.str.fifindall("") #正则表达式提取

6. s.str.match("[a-d]")#判断是否匹配

7. s.str.islower()#.isupper().isspace().isalpha().isnumeric()

8. s.str.startswith()#.endswith()

9. s.str.contains()

10. s.str.ljust()#.rjust().center()

11. s.str.strip()

12. str.replace(regex=False)

13. s.str.split() #split() 切分字符串

14. s.str.slice(1,3)#切片

15. s.str.cat(sep=' ')

16. s.str.repeat()

17. s.str.count()

十四、时间序列处理

1. pd.Timestamp(1594282374.596097,unit='s')#处理单个

2. pd.to_datetime(["2019-12-10","2019/12/11","2019/12/12"])#处理序列

3. pd.date_range('2011-1-20', '2011-1-30',freq='D') #产生序列

4. s.dt.year()#.month.day.date.weekday.time.

5. df.loc["2017"]#选择

6. df.resample()#重采样

7. pd.Timedelta('02:05:00').seconds/3600 #Timedelta对象有属性:weeksdayssecondsmillisecondsmicrosecondsnanoseconds

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
104.0510 7 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子