大家好,我是欧K。
本期为大家带来Pandas常用操作命令介绍的第一篇,主要介绍在数据处理可视化过程中经常用到的一些指令,本系列在后期会不断进行补充更新,希望对你有所帮助。
1. 数据导入、导出
1.1 从csv、xlsx、table、sql、json、html读取数据
pd.read_csv(filename) pd.read_table(filename) pd.read_excel(filename) pd.read_sql(query, connection_object) pd.read_json(json) pd.read_html(url)
以test.csv文件为例:
filename = 'test.csv' df = pd.read_csv(filename, encoding='gbk') df
1.2 从CSV文件导入数据,读取前6行,当数据量比较大时,可以只读取前n行
df = pd.read_csv(filename, encoding='gbk', nrows = 6)
注意和df.head()的区别,一个是读取全部文件再取部分数据,一个是只读取部分数据。
1.3 从CSV文件导入数据,第一列作为行索引,忽略列索引
df = pd.read_csv(filename, encoding='gbk', header=None, index_col=0)
1.4 从CSV文件读取数据,忽略第1/3/5行和最后两行
df = pd.read_csv(filename, encoding='gbk', skiprows=[1,3,5], skipfooter=2, engine='python')
1.5 从限定分隔符(',')的文件或文本读取数据
df = pd.read_table(filename, sep=',', encoding='gbk')
注意:分隔符需要根据文件格式调整
1.6 数据保存
df.to_csv(filename) df.to_excel(filename) df.to_sql(table_name,connection_object) df.to_json(filename)
2. 查看数据信息
2.1 查看DataFrame对象的前n行
df.head(3)
2.2 查看DataFrame对象的最后n行
df.tail(3)
2.3 查看行数和列数
df.shape
2.4 查看索引、数据类型和内存信息
df.info()
2.5 查看数值型列的汇总统计
df.describe()
2.6 查看DataFrame对象中每一列的唯一值和计数
df.apply(pd.Series.value_counts)
篇幅原因直截取了部分,其实是每个值做了频次统计。
3. 数据清洗
3.1 重命名列名
df.columns = ['姓名','语文','数学','英语','城市','省份']
3.2 选择性更改列名
df.rename(columns={'姓名': '姓--名','语文': '语--文'})
3.3 批量更改索引
df.rename(lambda x: x + 11)
3.4 批量更改列名
df.rename(columns=lambda x: x + '_1')
3.5 设置姓名列为行索引
df.set_index('姓名')
3.6 检查哪些列包含缺失值
df.isnull().any()
3.7 删除本列中空值的行
df[df['数学'].notnull()] df[~df['数学'].isnull()]
3.8 去掉某行、某列
# 去掉某行 df.drop(0, axis=0) # 去掉某列 df.drop('英语', axis=1)
3.9 删除所有包含空值的行
df.dropna()
删除了第1、3、5、7行。
3.10 删除行里全都是空值的行
df.dropna(how = 'all')
仅仅删除了第7行。
3.11 保留至少有n个非空值的行
df.dropna(thresh=n)
3.12 保留至少有11个非空值的列
df.dropna(axis=1,thresh=n)
3.13 行数据向下填充
df.fillna(method = 'ffill')
3.14 列数据向右填充
df.fillna(method = 'ffill',axis=1)
3.15 用0替换DataFrame对象中所有的空值
df.fillna(0)
未完待续。。。
END
以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享让更多人知道