pandas 实操函数使用合集
可视化
1.https://blog.csdn.net/u013317445/article/details/88175366
2.pd.options.display.max_rows = 10
#缩略显示10行df
3.
import seaborn as sns
sns.relplot(x="len_day", y='DAU',hue='country1',kind='line',col='server_id',row='country1',data=server,ci=None, aspect=1, height=3)
plt.show() #线图
4.plt.xticks(rotation=45)#倾斜45度
常用函数
1.apply运用
import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randn(4,3),columns=list('bde'),index=['utah','ohio','texas','oregon'])
print(df)
"""b d e
utah -0.667969 1.974801 0.738890
ohio -0.896774 -0.790914 0.474183
texas 0.043476 0.890176 -0.662676
oregon 0.701109 -2.238288 -0.154442
"""#将函数应用到由各列或行形成的一维数组上。DataFrame的apply方法可以实现此功能
f=lambda x:x.max()-x.min()
#默认情况下会以列为单位,分别对列应用函数
t1=df.apply(f)
print(t1)
t2=df.apply(f,axis=1)
print(t2)"""
b 1.597883
d 4.213089
e 1.401566
dtype: float64
utah 2.642770
ohio 1.370957
texas 1.552852
oregon 2.939397
dtype: float64
"""#除标量外,传递给apply的函数还可以返回由多个值组成的Series
def f(x):return pd.Series([x.min(),x.max()],index=['min','max'])
t3=df.apply(f)
#从运行的结果可以看出,按列调用的顺序,调用函数运行的结果在右边依次追加
print(t3)"""b d e
min -0.896774 -2.238288 -0.662676
max 0.701109 1.974801 0.738890
"""#元素级的python函数,将函数应用到每一个元素
#将DataFrame中的各个浮点值保留两位小数
f=lambda x: '%.2f'%x
t3=df.applymap(f)
print(t3)
"""b d e
utah -0.67 1.97 0.74
ohio -0.90 -0.79 0.47
texas 0.04 0.89 -0.66
oregon 0.70 -2.24 -0.15
"""#注意,之所以这里用map,是因为Series有一个元素级函数的map方法。而dataframe只有applymap。
t4=df['e'].map(f)
print(t4)"""
utah 0.74
ohio 0.47
texas -0.66
oregon -0.15
"""
2.lambda x, y: x*y;
函数输入是x和y,输出是它们的积x*y
map(lambda x: x ** 2, [1, 2, 3, 4, 5])
#会根据提供的函数对指定序列做映射。 使用 lambda 匿名函数
结果:[1, 4, 9, 16, 25]
3.c = df.groupby(['A'])['D'].mean()
#以A分组,算D的平均值 sum() max() min()
4.eval()
将字符串转换为字典形式,不是用dict函数,而是用eval函数
5.df.apply(f,axis=1)
#f代表一个函数 可以是匿名 或者 非匿名的 axis=1行 axis=0列
6. pd.pivot_table(df,index=[u'主客场'],columns=[u'对手'],values=[u'得分'],
7. aggfunc=[np.sum],fill_value=0,margins=1)#pandas中的透视表 与 groupby很相似
#fill_value填充空值,margins=True进行汇总
#aggfunc参数可以设置我们对数据聚合时进行的函数操作
#Index就是层次字段,要通过透视表获取什么信息就按照相应的顺序设置字段
#Values可以对需要的计算数据进行筛选
#Columns类似Index可以设置列层次字段,它不是一个必要参数,作为一种分割数据的可选方式。
7.a15=pd.read_csv(r'D:\km_data\数据分析\aoz\CN分析\aoz_uid.txt',sep='\t')
#打开TXT文件
#==========================================================
df处理
1.c = df.groupby(['A'])['D'].mean()
#以A分组,算D的平均值 sum() max() min()
2.df.drop_duplicates()
#去重 unique()
#去重
3.df.fillna(0)
空值替换为0
4.pd.concat([df1,df2,df3],axis=0,join='outer')
#axis=0默认为0沿着列拼接 1为沿着行的索引拼接
#join:{‘inner’,‘outer’},默认为“outer”。如何处理其他轴上的索引。outer为联合和inner为交集。
5.datafram连接
s1 = pd.Series([0,1,2],index = ['a','b','c'])s2 = pd.Series([2,3,4],index = ['c','f','e'])s3 = pd.Series([4,5,6],index = ['c','f','g'])
#=========================================
pd.concat([s1,s2,s3]) #默认并集、纵向连接
pd.#===============================================
concat([s1,s2,s3],ignore_index = True)#生成纵轴上的并集,索引会自动生成新的一列
#=====================================================
pd.concat([s1,s2,s3],axis = 1,join = 'inner')#纵向取交集,注意该方法对对象表中有重复索引时失效
#========================================================
pd.concat([s1,s2,s3],axis = 1,join = 'outer')#横向索引取并集,纵向索引取交集,注意该方法对对象表中有重复索引时失效
6. pd.DataFrame.from_dict(data, orient='index',columns=['A', 'B', 'C', 'D'])
#把data字典转化为 dataframe
pandas 合并多个DataFrame
1.pd.merge(aoz_tota3,aoz_tota4,left_on='server_id',right_on='server_id',how='left')
#左右匹配表 left_index=True how=left/right/outer
pandas 更改DataFrame的行名或列名
#==========================================================
.常见字符串函数使用
string.count(str, beg=0, end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
string.split(str="", num=string.count(str))
以str为分隔符切片 string,如果 num有指定值,则仅分隔num个子字符串
string.replace(str1, str2, num=string.count(str1))
把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
strip(' ')
去除字符串两端指定元素
#=====================================================
拆分字符串+行转列
cc = pd.concat({ k: pd.DataFrame.from_dict(eval(v), 'index') for k, v in dict(aoz_battle['power_lose']).items() },axis=0).reset_index()
items()列出aoz_battle[‘power_lose’]的 键/值
from_dict把字段的 键/值 分为两列记录
k始终记录原始表中的 默认索引(会有重复)
concat合并后 重置索引
map()
会根据提供的函数对指定序列做映射 function :函数 iterable:一个或多个序列
stack() df['xxx'].stack()
使用stack函数,将行索引 转变成列索引
reset_index df.reset_index()
可以还原索引,重新变为默认的整型索引 level控制了具体要还原的那个等级的索引 drop为False则索引列会被还原为普通列,否则会丢失
eval (xxx)
将字符串转换为字典形式,不是用dict函数,而是用eval函数
(有些列 看似是字典样式 实则记录为字符串形式 这种解析为字典时 会把所有字符串(看似字典)算为值 然后单独加一个键)
#======================================================
汇总datafram时常用函数
1.a16['user_id']=pd.to_numeric(a16['user_id'], errors='coerce')
#转换列的数据格式
2.diff(1)
#一阶差分
3.np.unique
取唯一值
4.df.describe()
总数/平均数/方差…
5.pd.cut(df,[切片点...10,20,30],labels=[分组标记显示为...])
#左开右闭
6..reset_index()
重置索引
7.p['xx_1'] = p["xx"].shift(1)
#上面得到的就是xx字段向下移动一行的结果,和之前相比向下移动一行,你可以设置为任意行,也可是向上向下
8.df.query()
#df.query("age==24").query('hight==174') / df.query('weight1 > weight2')
用来写筛选数据测的条件
9.df.apply(f,axis=1)
#f代表一个函数 可以是匿名 或者 非匿名的 axis=1行 axis=0列
#pandas中的透视表 与 groupby很相似11.`df.sort_index(axis=1,ascending=False)` #安行排序 默认True 降序
12.import statsmodels.api as sm
sm.OLS(endog=df[x], exog=df[x1,x2,x3]).fit().summary()
#显著性P值 回归分析 全部打印出来 回归拟合的数据13.`a16['user_id']=pd.to_numeric(a16['user_id'], errors='coerce')` #转换列的数据格式
pandas 实操函数使用合集相关推荐
- 前端常用Utils工具函数库合集
前端常用Utils工具函数库合集 在开发中,我们经常会将一些常用的代码块.功能块进行封装,为的是更好的复用.那么,被抽离出来独立完成功能,通过API或配置项和其他部分交互,便形成了插件. 函数库 Lo ...
- 求最大公约数c语言实验心得,C语言编程实训报告(合集)
cout< void main()//主函数主函数主函数主函数 { int i,g; studentstu[3];while (i){i=menu(stu,3); switch(i) {case ...
- R语言:plot()函数参数合集
参考:R语言基础备忘-plot()详解 最近用R语言画图,plot 函数是用的最多的函数,而他的参数非常繁多,由此总结一下,以供后续方便查阅. plot(x, y = NULL, type = &qu ...
- 关于常用(?)字符串处理函数的合集
C++里你可能用到的字符串处理函数及相应功能 这里简单地整理了课上PPT所展示的字符串处理函数 !!!警告,本文章所展示代码编译环境为ubuntu 18.04,使用VS CODE编译器,不保证泛用到一 ...
- 小白也能看懂的Pandas实操演示教程(上)
作者:奔雷手,目前是名在校学生,当前主要在学习机器学习,也在做机器学习方面的助教,相对还是比较了解初学者学习过程的需求和问题,希望通过这个专栏能够广结好友,共同成长. 编辑:王老湿 今天主要带大家来实 ...
- redis cluster 集群 HA 原理和实操(史上最全、面试必备)
文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 经典图书:<Java高并发核心编程(卷1)> 面试必备 ...
- Python 数据分析三剑客之 NumPy(五):数学 / 算术 / 统计 / 排序 / 条件 / 判断函数合集
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- 【Python常用函数合集】clip函数、range函数等
你应该听说过,应用Python,可以让你处理一天的重复工作量,缩短到几分钟甚至更短.从此解放上班时间,研究更多更有效率的工作方法.进一步提升工作效率,让工作更出彩.这不是广告,这是实锤图片. 本 ...
- redis 集群 实操 (史上最全、5w字长文)
文章很长,建议收藏起来慢慢读! 总目录 博客园版 为大家准备了更多的好文章!!!! 推荐:尼恩Java面试宝典(持续更新 + 史上最全 + 面试必备)具体详情,请点击此链接 尼恩Java面试宝典,34 ...
最新文章
- python得到一个10位随机数的方法及拓展
- delphi控件切图界面闪烁_小程序设计,不得不说的7个坑 (附资源:新版小程序 UI 控件,Sketch 版)...
- linux和mysql重点哪个_重要的MySQL 文档存储知识点扫盲
- 百度页面的html5结构,HTML5+CSS3网站设计基础教程
- PThread 学习笔记
- python 知乎 合并 pdf_如何用Python程序将几十个PDF文件合并成一个PDF?其实只要这四步...
- 计算机网络实验六(子网划分)
- 接入与身份认证技术概述
- java中set和get用法_java中 set 和 get
- 【数据可视化笔记】如何选择图表?
- 重磅干货!万字长文教你如何做出 ChatGPT
- [转]关于寻路算法的一些思考
- 基于STM32F4:多通道ADC采集,采用DMA的形式,亲测有效
- 22.12.1打卡 漫步校园 记忆化搜索
- 大家玩突袭2吗?呵呵我有秘籍哟!
- 2022.2.18二手苹果手机价格表图片
- 知乎搜索文本相关性与知识蒸馏
- mini2440 linux 内存布局
- 关于用户名登录的问题
- AM5728概述(2)