一、导包
import pandas as pd
import numpy as np
二、数据结构分为Series(一维数组)和DataFrame(存储二维数据结构)
1.Series
import pandas as pd //导包
pd.Series(data=None, index=None, dtype=None)
参数:
- data:传入的数据,可以是ndarray、list等
- index:索引,必须是唯一的,且与数据的长度相等。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。
- dtype:数据的类型
Series的属性
data.index (查看左边一列的具体数)
data.values((查看右2.边一列的具体数)
2.DataFrame
# 导入pandas
import pandas as pd
pd.DataFrame(data=None, index=None, columns=None)
- data是传入的数据
- index:行标签。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。
- columns:列标签。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。
算术运算:
#对某一列进行加法操作
data['xxxx'].add(10)
逻辑运算:
#将大于39的数据列出来
data["xxxx"] >39
筛选
data[data["xxxx"] > 23].head()
完成多个逻辑判断
data[(data["xxxx"] > 23) & (data["xxxx"] < 70)].head()
逻辑运算函数:
data.query()
统计运算:
data.describle()//描述,如平均值,最大值,中位数等
data.sum()//总和
data.mean()//平均值
data.min()//最小值
导入数据
data=pd.read_csv(r"文件路径",encoding='gbk')
数据的缺失值处理:
data.isnull()//判断是否有缺失值,有则显示True
data.notnull()//判断是否有缺失值,无则显示False
删除缺失值:
data.dropna()//不修改原数据
可以定义新的变量接受
one = data.dropna()
替换缺失值:
data.['xxx'].fillna(data['xxxx'])
将*变为np.nan:
- data.replace(to_replace='*', value=np.nan)
- to_replace:替换前的值
- value:替换后的值
数据离散化:
筛选出数据:
p_change= data['xxxx']
对数据进行分组:
qcut=pd.qcut(p_change,20)//自行分组,如分为20组
qcut.value_counts()//统计每组的个数
自定义分组:
bins=[1,20,30,48]
p_counts=pd.cut(p_change,bins)
ansh