Python——pandas包

基本概念和创建

serise
series一维数组(带标签),可以存储任何类型值
s.index()调用标签,多用于索引,并不局限于数字
s.values()调用值

series创建:可通过字典创建,由数组或序列创建
pd.Series()

name属性
s.raname()重命名,但指向新数组,原数组不变

Dataframe
Dataframe 带标签的二维数组
frame.index()调用标签,多用于索引,并不局限于数字
frame.colums()列名
frame.values()调用值

Dataframe创建
通过字典创建,字典名一般为列名,可以手动添加列名(colums)和行名标签(index)(行名必须和数据保持一致,列不需要)
serise生成dataframe
二维数组创建

pa.DataFrame()

索引和切片
索引
df=pd.DataFrame()
df[‘a’]单列索引
df[[‘a’,‘b’]]多行索引
df.loc[]单行索引
df.loc[[]]多行索引

切片
df.loc[‘one’:‘two’]首位全部包含,双闭合,数组切片不包含末尾

df.iloc[]末端不包含,类似直接的数组切片

bool索引
df[df>50]

排序
按值排序
.sort_values([索引],ascending=Ture升序,replace 替代)

.sort_index()按标签排序

数学计算、统计基础

print(df.count(),‘→ count统计非Na值的数量\n’)
print(df.min(),‘→ min统计最小值\n’,df[‘key2’].max(),‘→ max统计最大值\n’)
print(df.quantile(q=0.75),‘→ quantile统计分位数,参数q确定位置\n’)
print(df.sum(),‘→ sum求和\n’)
print(df.mean(),‘→ mean求平均值\n’)
print(df.median(),‘→ median求算数中位数,50%分位数\n’)
print(df.std(),’\n’,df.var(),‘→ std,var分别求标准差,方差\n’)
print(df.skew(),‘→ skew样本的偏度\n’)
print(df.kurt(),‘→ kurt样本的峰度\n’)

df.mean(axis=0按列计算)

df.cumsum() 累计和
df.cumprod() 累计积
df.cummax() 累计最大值

df.unique () 唯一值

df.value_counts() 值计数

df.isin() 值是否存在

文本数据

print(s.str.lower(),‘→ lower小写\n’)
print(s.str.upper(),‘→ upper大写\n’)
print(s.str.len(),‘→ len字符长度\n’)
print(s.str.startswith(‘b’),‘→ 判断起始是否为a\n’)
print(s.str.endswith(‘3’),‘→ 判断结束是否为3\n’)

print(s.str.strip()) # 去除字符串中的空格
print(s.str.lstrip()) # 去除字符串中的左空格
print(s.str.rstrip()) # 去除字符串中的右空格

合并、连接、去重、替换
合并
pd.merge( , , on=[],how=‘inner’)
inner 默认值 取交集
outer 取并集
left 按左侧值做参考
right 按右侧值做参考
left_on, right_on, left_index, right_index → 当键不为一个列时,可以单独设置左键与右键

连接:
concat
默认axis=0,行+行

去重

df.duplicate
print(s[s.duplicated() == False])
判断是否重复
通过布尔判断,得到不重复的值
直接替换
移除重复
s_re = s.drop_duplicates()

数据分组
df.groupby([])
print(grouped.first(),‘→ first:非NaN的第一个值\n’)
print(grouped.last(),‘→ last:非NaN的最后一个值\n’)
print(grouped.sum(),‘→ sum:非NaN的和\n’)
print(grouped.mean(),‘→ mean:非NaN的平均值\n’)
print(grouped.median(),‘→ median:非NaN的算术中位数\n’)
print(grouped.count(),‘→ count:非NaN的值\n’)
print(grouped.min(),‘→ min、max:非NaN的最小值、最大值\n’)
print(grouped.std(),‘→ std,var:非NaN的标准差和方差\n’)
print(grouped.prod(),‘→ prod:非NaN的积\n’)

数据读取
read_table
read_scv
read_excel
read_table(文件路径或文件名,delimiter=拆分字符串,heard=用作列序号的,index=用作行序号的)

read_scv(路径,encoding=编码方式)

read_excel(文件名,sheetname=返回多表格时使用,header=用作列名的,index_col=用作索引列的)

可下载一个sublime更改编码方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值