1.数据预处理
数据预处理中清洗数据,是重塑数据的步骤之一,将一些不符合程序输入的数据整理成符合相应模式的数据
数据重塑能力
2.一些符号说明
import pandas as pd
df 是一个数据框 eg:
df = pd.DataFrame({
‘col_1_nm‘:[‘11‘,‘22‘],
‘col_2_nm‘:[‘da‘,‘dd‘]
})
数据类型
Pandas类型 object int64 float64 datetime64
Python类型 str int float datetime
函数
Numpy和Pandas的查看方式略有不同,一个是 dtype,一个是dtypes
pandas方法 df.dtype df.info size values index
Python中函数 type()
-- 读取数据指定类型
df.astype() 强制转换
pd.to_numeric()
pd.to_datetime()
1.缺失值来源: 来源于数据源
来源于数据操作 merge() 等操作
来源于数据操作的情况
01. mid_data = pd.merge(exm_input, sap_input, left_on=‘field_code‘, right_on=‘field_code‘, how=‘left‘)
02.两个数据框
df.append(df2)
pd.concat(, axis=1) pd.concat(, axis=0)
2.缺失值处理
数值型和字符串型转换经常遇到空值 / NaN值处理
1. 删除缺失值:dropna函数 df.dropna(how=‘all‘) df.dropna(axis=‘columns‘) NA的阈值。参数thresh=2,表示行/列中的NA数量大于2才删除
2. 替换缺失值:fillna函数
设定每列NA的填充值。value为字典格式
values = {‘A‘: 0, ‘B‘: 1, ‘C‘: 2, ‘D‘: 3}
df.fillna(value=values)
生成字典
pd.isna(data) and isinstance(data, np.int64):
3. 判断缺失值:isna函数
4. 判断缺失值:notna函数
缺失值在数据类型转换过程中的问题
ValueError: cannot convert float NaN to integer
-- pandas在进行数据展示时,展示所有列
pd.set_option(‘display.max_columns‘, None)
pd.get_option(‘display.max_rows‘)
pd.get_option(‘display.max_columns‘)
1.重复值:
判断是否重复,
and(df.duplicated()) any(df.duplicated(subset = [‘price‘,‘cnt‘]))
以及如何处理重复数据: 去重 合并
去重: drop_duplicats()
数keep
keep可以为first和last,表示是选择最前一项还是最后一项保留,默认first,
还有一个是 False - False : Drop all duplicates.
2.异常值
异常值发现
向量化编程
拼接SQL的数据
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
原文:https://www.cnblogs.com/ytwang/p/14035185.html