前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Pandas 用法速查表

Python Pandas 用法速查表

作者头像
白墨石
发布2021-01-13 11:45:54
1.8K0
发布2021-01-13 11:45:54
举报
文章被收录于专栏:生信情报站生信情报站

文章目录

数据读写

代码

作用

df = pd.DataFrame(pd.read_csv(‘input.csv’,header=1))

读取csv

df = pd.DataFrame(pd.read_excel(‘input.xlsx’))

读取xlsx

df_inner.to_csv(‘output.csv’)

写入CSV

df_inner.to_excel(‘output.xlsx’, sheet_name=‘sheet1’)

写入Excel

设置列名dataframe.columns=['col1','col2','col3']

设置索引dataframe.set_index("col_name")

读取行数pd.read_csv(file_path,skiprows=9,nrows=10)

数据创建

代码

作用

pd.Series([1, 2, 3, 4, 5])

list创建Series

pd.date_range(‘20171022’, periods=6)

时间索引

pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list([‘c1’, ‘c2’, ‘c3’, ‘c4’]))

列标签

pd.DataFrame.from_dict({“A”:1, “B”:2, “C”:3}, orient=‘index’).T

字典创建

数据查看

代码

作用

df.shape

维度

df.info()

数据表基本信息(维度、列名称、数据格式、所占空间等)

df.dtypes

列数据的格式

df[‘Name’].dtype

某一列格式

df.isnull()

空值

df.isnull()

查看某一列空值

df[Name’].unique()

某一列的唯一值

df.values

数据表的值

df.columns

列名称

df.head()

查看前10行数据

df.tail()

查看后10行数据

数据操作

代码

作用

df.fillna(value=0)

数字0填充空值

df[‘prince’].fillna(df[‘prince’].mean())

使用列prince的均值对NA进行填充

df[‘city’]=df[‘city’].map(str.strip)

清除city字段的字符空格

df[‘city’]=df[‘city’].str.lower()

大小写转换

df[‘price’].astype(‘int’)

更改数据格式

df.rename(columns={‘category’: ‘category-size’})

更改列名称

df[‘city’].replace(‘sh’, ‘shanghai’)

数据替换

df1.dropna(how=‘any’)

去掉包含缺失值的行

df1.fillna(5)

对缺失值进行填充

pd.isnull(df1)

对缺失值进行布尔填充

数据提取

代码

作用

df_csv.loc[:, [‘chrom’, ‘q_value’]]

索引+列标签切片

df_csv.loc[0, [‘chrom’]]df_csv.loc[0, ‘chrom’]df_csv.at[0, ‘chrom’]df_csv.iloc[1, 1]df_csv.iat[1, 1]

提取一个标量

df_csv.iloc[3]df_inner.loc[3]

提取一行

df_inner.iloc[0:5]df_csv.iloc[3:5, 0:2]df_csv.iloc[[1, 2, 4], [0, 2]]df_csv.iloc[1:3, :]df_inner.ix[:‘2013-01-03’,:4]

提取区域

df_inner[‘city’].isin([‘beijing’])

判断city列的值是否为北京

df_inner.loc[df_inner[‘city’].isin([‘beijing’,‘shanghai’])]

判断city列里是否包含beijing和shanghai,然后将符合条件的数据提取出来

pd.DataFrame(category.str[:3])

提取前三个字符,并生成数据表

df_csv.loc[:, [‘chrom’, ‘q_value’]]

索引+列标签切片

数据筛选

代码

作用

df_inner.loc[(df_inner[‘age’] > 25) & (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]]

使用“与”进行筛选

`df_inner.loc[(df_inner[‘age’] > 25) | (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘age’]) ```

df_inner.loc[(df_inner[‘city’] != ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’])

使用“非”条件进行筛选

df_inner.loc[(df_inner[‘city’] != ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’]).city.count()

对筛选后的数据按city列进行计数

df_inner.query(‘city == [“beijing”, “shanghai”]’)

使用query函数进行筛选

df_inner.query(‘city == [“beijing”, “shanghai”]’).price.sum()

对筛选后的结果按prince进行求和

数据统计

代码

作用

df_inner.groupby(‘city’).count()

对所有的列进行计数汇总

df_inner.groupby(‘city’)[‘id’].count()

按城市对id字段进行计数

df_inner.groupby([‘city’,‘size’])[‘id’].count()

对两个字段进行汇总计数

df_inner.groupby(‘city’)[‘price’].agg([len,np.sum, np.mean])

对city字段进行汇总,并分别计算prince的合计和均值

df_inner.sample(n=3)

简单的数据采样

weights = [0, 0, 0, 0, 0.5, 0.5]df_inner.sample(n=2, weights=weights)

手动设置采样权重

df_inner.sample(n=6, replace=False)

采样后不放回

df_inner.sample(n=6, replace=True)

采样后放回

df_inner.describe().round(2).T

数据表描述性统计

df_inner[‘price’].std()

计算列的标准差

df_inner[‘price’].cov(df_inner[‘m-point’])

计算两个字段间的协方差

df_inner.cov()

数据表中所有字段间的协方差

df_inner[‘price’].corr(df_inner[‘m-point’])

两个字段的相关性分析 相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关

df_inner.corr()

数据表的相关性分析

操作数据表结构

代码

作用

df_inner.set_index(‘id’)

设置索引列

df_inner.sort_values(by=[‘age’])

按照 age 列排序

df_inner.sort_index()

按照索引列排序

df_inner[‘group’] = np.where(df_inner[‘price’] > 3000,‘high’,‘low’)

如果prince列的值>3000,group列显示high,否则显示low

df_inner.loc[(df_inner[‘city’] == ‘beijing’) & (df_inner[‘price’] >= 4000), ‘sign’]=1

对复合多个条件的数据进行分组标记

pd.DataFrame((x.split(’-’) for x in df_inner[‘category’]),index=df_inner.index,columns=[‘category’,‘size’]))

对category字段的值依次进行分列,并创建数据表,索引值为df_inner的索引列,列名称为category和size

df_inner=pd.merge(df_inner,split,right_index=True, left_index=True)

将完成分裂后的数据表和原df_inner数据表进行匹配

df_inner.reset_index()

重设索引

df_inner=df_inner.set_index(‘date’)

设置日期为索引

数据表合并

代码

作用

df_inner=pd.merge(df,df1,how=‘inner’)

内连接(取两个集合的交集)

df_left=pd.merge(df,df1,how=‘left’)

左连接(以 df 为基准,df1 在 df 中无匹配则为空)

df_right=pd.merge(df,df1,how=‘right’)

右连接(以 df1 为基准,df 在 df1 中无匹配则为空)

df_outer=pd.merge(df,df1,how=‘outer’)

全连接(取两个集合的并集,包含有 df , df1 的全部数据行,无匹配则填充空)

修改列名

代码

作用

a.columns = [‘a’,‘b’,‘c’]

列名全部修改

a.rename(columns={‘A’:‘a’}, inplace = True)

修改部分列名

插入一列

代码

作用

frame.insert(0, ‘num’, 1)

在第一列插入名为num的列,值为1

frame.insert(0, ‘num’, np.[i for i in rang(10)], allow_duplicates=True)

在第一列插入名为num的列,值为1…10,允许有重复列

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/04/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 数据读写
  • 数据创建
  • 数据查看
  • 数据操作
  • 数据提取
  • 数据筛选
  • 数据统计
  • 操作数据表结构
  • 数据表合并
  • 修改列名
  • 插入一列
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档