可视化

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 实操函数使用合集相关推荐

  1. 前端常用Utils工具函数库合集

    前端常用Utils工具函数库合集 在开发中,我们经常会将一些常用的代码块.功能块进行封装,为的是更好的复用.那么,被抽离出来独立完成功能,通过API或配置项和其他部分交互,便形成了插件. 函数库 Lo ...

  2. 求最大公约数c语言实验心得,C语言编程实训报告(合集)

    cout< void main()//主函数主函数主函数主函数 { int i,g; studentstu[3];while (i){i=menu(stu,3); switch(i) {case ...

  3. R语言:plot()函数参数合集

    参考:R语言基础备忘-plot()详解 最近用R语言画图,plot 函数是用的最多的函数,而他的参数非常繁多,由此总结一下,以供后续方便查阅. plot(x, y = NULL, type = &qu ...

  4. 关于常用(?)字符串处理函数的合集

    C++里你可能用到的字符串处理函数及相应功能 这里简单地整理了课上PPT所展示的字符串处理函数 !!!警告,本文章所展示代码编译环境为ubuntu 18.04,使用VS CODE编译器,不保证泛用到一 ...

  5. 小白也能看懂的Pandas实操演示教程(上)

    作者:奔雷手,目前是名在校学生,当前主要在学习机器学习,也在做机器学习方面的助教,相对还是比较了解初学者学习过程的需求和问题,希望通过这个专栏能够广结好友,共同成长. 编辑:王老湿 今天主要带大家来实 ...

  6. redis cluster 集群 HA 原理和实操(史上最全、面试必备)

    文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 经典图书:<Java高并发核心编程(卷1)> 面试必备 ...

  7. Python 数据分析三剑客之 NumPy(五):数学 / 算术 / 统计 / 排序 / 条件 / 判断函数合集

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  8. 【Python常用函数合集】clip函数、range函数等

    你应该听说过,应用Python,可以让你处理一天的重复工作量,缩短到几分钟甚至更短.从此解放上班时间,研究更多更有效率的工作方法.进一步提升工作效率,让工作更出彩.这不是广告,这是实锤图片.    本 ...

  9. redis 集群 实操 (史上最全、5w字长文)

    文章很长,建议收藏起来慢慢读! 总目录 博客园版 为大家准备了更多的好文章!!!! 推荐:尼恩Java面试宝典(持续更新 + 史上最全 + 面试必备)具体详情,请点击此链接 尼恩Java面试宝典,34 ...

最新文章

  1. python得到一个10位随机数的方法及拓展
  2. delphi控件切图界面闪烁_小程序设计,不得不说的7个坑 (附资源:新版小程序 UI 控件,Sketch 版)...
  3. linux和mysql重点哪个_重要的MySQL 文档存储知识点扫盲
  4. 百度页面的html5结构,HTML5+CSS3网站设计基础教程
  5. PThread 学习笔记
  6. python 知乎 合并 pdf_如何用Python程序将几十个PDF文件合并成一个PDF?其实只要这四步...
  7. 计算机网络实验六(子网划分)
  8. 接入与身份认证技术概述
  9. java中set和get用法_java中 set 和 get
  10. 【数据可视化笔记】如何选择图表?
  11. 重磅干货!万字长文教你如何做出 ChatGPT
  12. [转]关于寻路算法的一些思考
  13. 基于STM32F4:多通道ADC采集,采用DMA的形式,亲测有效
  14. 22.12.1打卡 漫步校园 记忆化搜索
  15. 大家玩突袭2吗?呵呵我有秘籍哟!
  16. 2022.2.18二手苹果手机价格表图片
  17. 知乎搜索文本相关性与知识蒸馏
  18. mini2440 linux 内存布局
  19. 关于用户名登录的问题
  20. AM5728概述(2)

热门文章

  1. windows 定时任务:schtasks,定时关闭网易云音乐
  2. 华为ar系列交换机虚拟服务器,交换机路由器虚拟服务器设置
  3. 中华传统文化节日网页设计制作 简单静态HTML网页作品 二十四节气网页作业成品
  4. Python学习笔录(四)--- 数据结构
  5. 无人机倾斜摄影测量影像处理关键技术
  6. 分层测试(Layered Testing Approach)
  7. css背景图做水印,css给图片添加水印的方法
  8. vscode输入英文时字体之间的间隔突然变大
  9. tab weui 页面切换_weui 多网页切换效果分析
  10. 【无标题】微信开发者工具无法获取OpenId