概述
pandas是python里面一款非常优秀的做数据分析与挖掘的包,也是所有的数据分析和挖掘从业人员最需要掌握的基本包
下面介绍pandas的基本操作
import pandas as pd
import numpy as np
1. 读取数据
# 具体参数在spyder可以快捷键ctrl+i,在jupyter notebook可以快捷键shift+tab
data=pd.read_excel()
data=pd.read_csv()
# txt文件
data=pd.read_table()
2. 查看表信息
# 查看前面和后面部分数据
data.head(10)
data.tail(10)
data.columns
data.index
data.shape
data.dtypes
data.info()
data.describe()
3. 操作dataframe
data.loc[data.index==173,:]
data.loc[data['columns_01'].isna(),:]
data.loc[data['columns_01'].notna(),:]
data.iloc[0:2,:]
tips[['columns_01','columns_02']]
data.loc[(data.columns_01>3) & (data.columns_02 == 'Sun'),['columns_03','columns_04']]
df1.loc[~(df1.columns_01.isin(list))]
df2['columns_01'].isin(list), ['columns_02 ', 'columns_03', 'columns_04']]
按行列排序
df.sort_index(axis=0,by='columns_01',ascending=True)#0代表列,1代表行,True升序
df.sort_values(by='columns_01', axis=0, ascending=True)
4. 数据清洗
# 删除
data.dropna()
data= data.drop('column_name', axis=1)
# 替换
# 常值替换所有缺失的单元格
data.fillna(0)
# 前向替换或后向替换
data.fillna(method = 'ffill')
data.fillna(method = 'bfill')
# 不同列使用不同的常数替换
data.fillna(value = {'columns_01':0, 'columns_02': 1000})
# 不同的列使用不同的统计值替换
data.fillna(value = {'columns_01':data.columns_01.mean(), 'columns_02': data.columns_02.median()})
# 识别是否有缺失值
any(pd.isnull(data))
data.isnull()
data.isnull().any()
data[data.isnull().values==True]
data[data.column_01.isna()]
data[data.column_01.notna()]
# 重复
any(data.duplicated())
data.drop_duplicates(subset = ['columns_01','columns_02'])
# 应用函数
data.apply(np.mean)
data[columns_01] = data[columns_01].applymap(np.float)
data.pipe(function)
# 转类型
data[columns_01] = data[columns_01].astype(str)
# group by
agg = data.groupby(by = [columns_01]).agg(np.mean)
#df.['columns_1'].rank(ascending=0,method='first')
#row_number()over(partition by order by)
0为降序,1为升序,method可选择first,dense,min
df['sort_num'] = df.groupby(['columns_1'])['columns_2'].rank(ascending=0,method='first')
# 连接 merge and concat
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False)
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True)
pd.concat([df1,df2],axis=0) axis=0 按行
# 重置索引
data = data.reset_index(drop=True)
最后
以上就是可耐小懒猪为你收集整理的熟练掌握pandas的各种操作的全部内容,希望文章能够帮你解决熟练掌握pandas的各种操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复