Pandas 目录
1、Pandas 基本语法(一)
2、Pandas 基本语法(二)
3、持续更新中…
Pandas 的基本语法(二)
导入导出
-
read_excel(io[, sheetname, header, …]) 读取excel格式的数据
-
read_csv(filepath_or_buffer[, sep, …]) 读取csv格式的数据
-
read_sql(sql, con[, index_col, …]) 读取数据库中的数据
-
read_json([path_or_buf, orient, typ, dtype, …]) 读取json格式的数据
相对应
-
to_excel() 保存为excel格式
-
to_csv() 保存为csv格式
-
to_sql() 保存至sql中
-
to_json() 保存为json格式
数据类型转换
Pandas 中进行数据类型转换有三种基本方法:
- 使用astype()函数进行强制类型转换
- 自定义函数进行数据类型转换
- 利用Pandas的一些辅助函数进行类型转换
使用astype()函数进行强制类型转换:
data['列名'] = data['列名'].astype('类型') # 对原始数据进行转换并覆盖原始数据列
- astype()函数有效的情形:
- 数据列中的每一个单位都能简单的解释为数字(2, 2.12等)
- 数据列中的每一个单位都是数值类型且向字符串object类型转换
- 如果数据中含有缺失值、特殊字符astype()函数可能失效。
使用自定义函数或者使用lambda表达式进行数据类型转换:
该方法特别适用于待转换数据列的数据较为复杂的情形,可以通过构建一个函数应用于数据列的每一个数据,并将其转换为适合的数据类型。
# 定义好的自定义函数可以通过apply函数应用
data['需处理的数据列名'].apply(def_name)
# 使用lambda表达式
data['需处理的数据列名'].apply(lambda [parameter_list]:表达式)
利用Pandas的一些辅助函数进行类型转换
Pandas的astype()函数和复杂的自定函数之间有一个中间段,那就是Pandas的一些辅助函数。这些辅助函数对于某些特定数据类型的转换非常有用(如to_numeric()、to_datetime())。
所属组数据列中包含一个非数值,用astype()转换出现了错误,然而用to_numeric()函数处理就优雅很多。
pd.to_数据类型(data[['列1','列2'...,'列n']]) # 可以把多个列合并处理
总结
对数据集进行操作的第一步是确保设置正确的数据类型,然后才能进行数据的分析、可视化等操作,Pandas提供了很多非常方便的函数,有了这些函数那么对数据进行分析将会是很方便的。
填补缺失值
fillna的主要语法如下:
DataFrame.fillna(value = None,method= None, inplace= False,limit =None)
# value:用于指定用何值填充缺失值。可以是一个标量,如value=0,用0填补所有缺失值。可以是一个字典,键为需要填充的列名,值为需要填充的内容。
# method:指定填充的方式。method='ffill':用前面的补齐后面的缺失值。method='bfill' :用下一个非缺失值填充该缺失值。
# inplace:是否对原数据集进行处理替换。inplace=True替换修改原对象。
# limit:在指定method时,控制向前或向后填充缺失值的最大数量。
判断缺失值
pandas判断缺失值一般采用 isnull() 此方法的弊端,面对庞大的数据时,很难一眼看出哪个数据缺失以及缺失的位置。
df.isnull() # 则会返回true/false矩阵
df.isnull().any() # 可以判断哪些”列”存在缺失值
df[df.isnull().values==True] # 可以只显示存在缺失值的行列,清楚的确定缺失值的位置。
关于缺失值这里总结下
数据统计
下面是一些常用的统计函数