Pandas数据分析实用小技巧有哪些

技术Pandas数据分析实用小技巧有哪些这篇文章给大家分享的是有关Pandas数据分析实用小技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。小技巧1:如何使用map对某些列做特征工程?

这篇文章是为了和大家分享一些关于熊猫数据分析的有用技巧。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

小技巧1:如何使用map对某些列做特征工程?

教师数据:

d={ '性别' :['男','女','男','女','颜色' :['红','绿','蓝','绿'],'年龄' :[25,30,15,32]

}df=pd。数据帧(d)dfPandas数据分析实用小技巧有哪些

在“性别”列中,使用map方法快速完成以下映射:

d={ '男' :0,'女' :1}

df['gender2']=df['gender']。地图(d)Pandas  数据分析 5 个实用小技巧

小技巧2:使用 replace 和正则清洗数据

熊猫的实力在于数据分析,自然数据清洗不可或缺。

一种快速数据清理技术,在列上使用替换方法和正则化来快速清理值。

源数据:

d={ '客户' :['A ',' B ',' C ',' D ','销售' :[1100,' 950.5RMB ',' 400美元',' 1250.75美元']}

Df=pd。数据帧(d)df打印结果:

客户名称

0A11001B950.5RMB人民币

2C$4003D$1250.75看销售栏的数值,包括整数、浮点人民币然后是字符串、美元整数和美元浮点人民币。

我们的目标:清洗人民币,$符号,并将此列转换为浮点。

一行代码完成:(点击代码区,向右滑动查看完整代码)

df['sales']=df['sales']。替换('[$,人民币]','',正则表达式=真)\。astype('float ')使用常规替换将要替换的字符放入列表[$,RMB]中,并用空字符替换,即“”;

最后,使用astype进行浮动。

打印结果:

sales 0a 1100 . 001 b 950 . 502 c 400 . 003d 1250 . 75如果您不放心,请检查以下值的类型:

Df['销售']。应用(类型)打印结果:

类“float”1类“float”2类“float”3类“float”

【python学习交流群】

10-1010构造一个DataFrame:

d={ 0

\"district_code": [12345, 56789, 101112, 131415],"apple": [5.2, 2.4, 4.2, 3.6],"banana": [3.5, 1.9, 4.0, 2.3],"orange": [8.0, 7.5, 6.4, 3.9]}df = pd.DataFrame(d)df

打印结果:

district_code apple banana orange0123455.23.58.01567892.41.97.521011124.24.06.431314153.62.33.9

5.2 表示 12345 区域的 apple 价格,并且 apple, banana, orange,这三列都是一种水果,那么如何把这三列合并为一列?

使用 pd.melt

具体参数取值,根据此例去推敲:

df = df.melt(\
id_vars = "district_code",
var_name = "fruit_name",
value_name = "price")
df

打印结果:

district_code fruit_name price012345 apple 5.2156789 apple 2.42101112 apple 4.23131415 apple 3.6412345 banana 3.5556789 banana 1.96101112 banana 4.07131415 banana 2.3812345 orange 8.0956789 orange 7.510101112 orange 6.411131415 orange 3.9

以上就是长 DataFrame,对应的原 DataFrame 是宽 DF.

小技巧4:已知 year 和 dayofyear,怎么转 datetime?

原 DataFrame

d = {\"year": [2019, 2019, 2020],"day_of_year": [350, 365, 1]
}df = pd.DataFrame(d)df

打印结果:

 year day_of_year
0201935012019365220201

转 datetime 的 小技巧

步骤 1: 创建整数

df["int_number"] =
df["year"]*1000 + df["day_of_year"]

打印 df 结果:

year day_of_year int_number
0201935020193501201936520193652202012020001

步骤 2: to_datetime

df["date"]=pd.to_datetime(df["int_number"],format = "%Y%j")

注意 "%Y%j" 中转化格式 j

打印结果:

 year day_of_year int_number date
0201935020193502019-12-161201936520193652019-12-3122020120200012020-01-01

小技巧5:如何将分类中出现次数较少的值归为 others?

这也是我们在数据清洗、特征构造中面临的一个任务。

如下一个 DataFrame:

d = {"name":['Jone','Alica','Emily','Robert','Tomas','Zhang','Liu','Wang','Jack','Wsx','Guo'],"categories": ["A", "C", "A", "D", "A","B", "B", "C", "A", "E", "F"]}
df = pd.DataFrame(d)df

结果:

 name categories
0 Jone A1 Alica C2 Emily A3 Robert D4 Tomas A5 Zhang B6 Liu B7 Wang C8 Jack A9 Wsx E10 Guo F

D、E、F 仅在分类中出现一次,A 出现次数较多。

步骤 1:统计频次,并归一

frequencies = df["categories"].value_counts(normalize = True)
frequencies

结果:

A 0.363636B 0.181818C 0.181818F 0.090909E 0.090909D 0.090909Name: categories, dtype: float64

步骤 2:设定阈值,过滤出频次较少的值

threshold = 0.1small_categories = frequencies[frequencies < threshold].indexsmall_categories

结果:

Index(['F', 'E', 'D'], dtype='object')

步骤 3:替换值

df["categories"] = df["categories"] \
.replace(small_categories, "Others")

替换后的 DataFrame:

 name categories
0 Jone A1 Alica C2 Emily A3 Robert Others4 Tomas A5 Zhang B6 Liu B7 Wang C8 Jack A9 Wsx Others10 Guo Others

感谢各位的阅读!关于“Pandas数据分析实用小技巧有哪些”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/126961.html

(0)

相关推荐

  • OpenFeign服务调用时携带Token

    技术OpenFeign服务调用时携带Token OpenFeign服务调用时携带TokenOpenFeign服务调用时携带Token:场景:众所周知,OpenFigen主要的作用是替我们发送Http请求

    礼包 2021年12月6日
  • 公务员报名要求,公务员省考报考条件要求

    技术公务员报名要求,公务员省考报考条件要求以2021年广西省考为例,报考要求为公务员报名要求:
    1.具有中华人民共和国国籍。
    2.拥护中华人民共和国宪法,拥护中国共产党领导和社会主义制度。
    3.具有良好的政治素质和道德品

    生活 2021年10月21日
  • 罐装奶粉打开了多久不能吃,婴儿奶粉开封后多久不能吃

    技术罐装奶粉打开了多久不能吃,婴儿奶粉开封后多久不能吃很多宝妈跟题主一样罐装奶粉打开了多久不能吃,对奶粉的保质期有疑问——奶粉吃不完是不是就不能吃了呢?是不是就变质了呢?众所周知,婴幼儿奶粉营养丰富,蛋白质含量高,而丰富

    生活 2021年10月31日
  • 炫舞网名,qq炫舞好听的网名 男生!

    技术炫舞网名,qq炫舞好听的网名 男生!炫舞男生昵称格式为う°**。主要有如下几种炫舞网名: う°尼古丁。 う°欧美疯。
    う°一支烟。
    う°花逝昧。
    う°烟花笑。
    う°黑领带。
    う°烟花领。
    う°尘世美。

    生活 2021年10月22日
  • docx文件,Docx文件怎么打开呢

    技术docx文件,Docx文件怎么打开呢方法一docx文件、安装补丁法如果你的电脑中只安装了Word2003,而有一个文档却是2007或以上的那么要打开的办法你可以到微软件的网站下载补丁,或点击Word2007兼容补丁下

    生活 2021年10月31日
  • abca式的成语,abac式的形容词语大全

    技术abca式的成语,abac式的形容词语大全碍手碍脚abca式的成语、毕恭毕敬、呆头呆脑、多才多艺、独来独往无尤无怨、无缘无故、无怨无德、无昼无夜、无踪无影 武爵武任、勿怠勿忘、误打误撞、先圣先师、先知先觉 闲非闲是、

    生活 2021年10月21日