小结-数据挖掘-Pandas的常见用法

Pandas用途

高效处理结构化数据,方便于数据导入、清理、建模、可视化。

  • 缺失数据的处理
  • 数据的插入删除
  • 分组聚合查询
  • 切片、索引、截取
  • 合并、连接数据
  • ...

Pandas常见用法

导入、导出数据

参考

pd.readcsv()

pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, prefix=None, encoding=None)

delimiter: 定界符,备选分隔符(如果指定该参数,则sep参数失效)

header: 默认设置为0(即第一行作为表头),如果没有表头的话,要修改参数,设置header=None

names:一般我们没有表头,即header=None时,这个用来添加列名

prefix:给列名添加前缀

pd.tocsv()

pd.tocsv(filepath_or_buffer, sep=',', na_rep=None, columns=None,
header=0, index=True)

na_rep: 字符串,将NaN转换为特定值

columns: 列表,指定哪些列写进去

index: 关于索引的,默认True,写入索引

查看数据

# 顶部
df.head()
# 概览,默认只describe数值型列;
df.describe(include='all')
# 按轴排序
df.sort_index(axis=0, ascending=False)
# 按值排序
df.sort_value(by='column3')

选择数据(过滤数据实用!)

# df.column3
df['column3']
# 切片, 行列切片
df[0:3,5:10]
# 按标签选择
df.loc[;,['A', 'B']]
# 按位置选择,按照隐藏索引选择
df.iloc[0:5, 0:2]
# 过滤数据, 类似于sql的条件查询
df[df['columnA'] > 0]
# isin方法过滤
df[df['columnA'].isin(['1', '2', '10'])]

缺失值处理

# 只要行列出现空缺值,就删除;
df.dropna(how='any')
# 当整个行或列出现NaN就删除;
df.dropna(how='all')
# 填充缺失值
df.fillna(value='missing')

数据操作

# apply应用, 需要传递一个func
df.apply(lambda x: x.max() - x.min())
# 针对当前列的值进行统计计数
df['columnA'].value_counts()

合并数据

# 左连接,合并两个相同id的df表格,以左边的为基准;(类似于sql的左连接)
pd.merge(left_df, right_df, on='_id', how='left')

分组

# 分组求和,常用级别
df.groupby('columnA').sum()

绘图

df.plot.bar(df['columnA'])
plt.figure()
plt.legend()

更多参考:中文官网

你可能感兴趣的:(小结-数据挖掘-Pandas的常见用法)