pandas速学——常用函数

一、读取数据

pd.read_csv(filename)	读取 CSV 文件;
pd.read_excel(filename)	读取 Excel 文件;
pd.read_sql(query, connection_object)	从 SQL 数据库读取数据;
pd.read_json(json_string)	从 JSON 字符串中读取数据;
pd.read_html(url)	从 HTML 页面中读取数据。

读取数据这块比较简单,读什么在read后面加上什么即可。可读文件类型:csv,Excel,SQL,json,html。

二、查看数据


函数	说明
df.head(n)	显示前 n 行数据;
df.tail(n)	显示后 n 行数据;
df.info()	显示数据的信息,包括列名、数据类型、缺失值等;
df.describe()	显示数据的基本统计信息,包括均值、方差、最大值、最小值等;
df.shape	显示数据的行数和列数。

这里的方法应该都不会改变df,应该也可以起到初步筛选数据的作用。

前面我们没有提到过的有:describe(),显示统计信息;shape()显示数据的行数与列数。

三、数据清洗


函数	说明
df.dropna()	删除包含缺失值的行或列;
df.fillna(value)	将缺失值替换为指定的值;
df.replace(old_value, new_value)	将指定值替换为新值;
df.duplicated()	检查是否有重复的数据;
df.drop_duplicates()	删除重复的数据。

dropna()和fillna()以及dup*()二兄弟在前面的数据清洗篇有介绍,注意记忆参数使用即可。

replace()是没有提到过的,注意参数,前一个是老值,后一个是新值。

四、数据选择与切片

df[column_name]选择指定的列;
df.loc[row_index, column_name]通过标签选择数据;
df.iloc[row_index, column_index]通过位置选择数据;
df.ix[row_index, column_name]通过标签或位置选择数据;
df.filter(items=[column_name1, column_name2])选择指定的列;
df.filter(regex='regex')选择列名匹配正则表达式的列;
df.sample(n)随机选择 n 行数据。

df实际上可以理解为value为一个有序序列的字典结构,此时key为列名,value为列值,index索引为行,因此直接df[column_name]是可以把列值取出来的。

以上函数不再详述。loc,iloc,ix可以归类记忆。

选择指定的列,方法:filter(items = 列名序列)

列名匹配正则表达式进行筛选:filter(regex=‘regex’)

sample(n):随机选择 n 行数据

五、数据排序

按照指定列值排序:df.sort_values(column_name)
按照多个列值排序:df.sort_values(column_name1, column_name2], ascending=[True, False])
按照索引排序:df.sort_index()

六、数据分组和聚合

df.groupby(column_name)按照指定列进行分组;
df.aggregate(function_name)对分组后的数据进行聚合操作;
df.pivot_table(values, index, columns, aggfunc)

生成透视表。

ps:看到这里,pandas对数据的一些处理操作和SQL有类似哈。

七、数据合并

# 将多个数据框按照行或列进行合并
df = pd.concat([df1, df2])

# 按照指定列将两个数据框进行合并
df = pd.merge(df1, df2, on='column_name')

八、数据选择和过滤

df.loc[row_indexer, column_indexer]	按标签选择行和列。
df.iloc[row_indexer, column_indexer]	按位置选择行和列。
df[df['column_name'] > value]	选择列中满足条件的行。
df.query('column_name > value')	使用字符串表达式选择列中满足条件的行。

九、数据统计与描述

df.describe()计算基本统计信息,如均值、标准差、最小值、最大值等。
df.mean()计算每列的平均值。
df.median()计算每列的中位数。
df.mode()计算每列的众数。
df.count()计算每列非缺失值的数量。

均值:mean()

中位数:median()

众数:mode()

计算非空值数量:count()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值