栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pandas Cut 与dataframe随机抽取(sample)替换(replace)应用案例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas Cut 与dataframe随机抽取(sample)替换(replace)应用案例

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['STFangsong']
plt.rcParams['axes.unicode_minus'] = False
%config InlineBackend.figure_format = 'svg'
cut 使用
df = pd.read_csv('../files/data/2018年北京积分落户数据.csv',encoding = 'utf-8',index_col = 'id')
df
namebirthdaycompanyscore
id
1杨效丰1972-12北京利德华福电气技术有限公司122.59
2纪丰伟1974-12北京航天数据股份有限公司121.25
3王永1974-05品牌联盟(北京)咨询股份公司118.96
4杨静1975-07中科专利商标代理有限责任公司118.21
5张凯江1974-11北京阿里巴巴云计算技术有限公司117.79
...............
6015孙宏波1978-08华为海洋网络有限公司北京科技分公司90.75
6016刘丽香1976-11福斯(上海)流体设备有限公司北京分公司90.75
6017周崧1977-10赢创德固赛(中国)投资有限公司90.75
6018赵妍1979-07澳科利耳医疗器械(北京)有限公司90.75
6019贺锐1981-06北京宝洁技术有限公司90.75

6019 rows × 4 columns

from datetime import datetime
date = pd.to_datetime(df.birthday)
df['age'] = (datetime(2018,7,1) - date).dt.days // 365
df
namebirthdaycompanyscoreage
id
1杨效丰1972-12北京利德华福电气技术有限公司122.5945
2纪丰伟1974-12北京航天数据股份有限公司121.2543
3王永1974-05品牌联盟(北京)咨询股份公司118.9644
4杨静1975-07中科专利商标代理有限责任公司118.2143
5张凯江1974-11北京阿里巴巴云计算技术有限公司117.7943
..................
6015孙宏波1978-08华为海洋网络有限公司北京科技分公司90.7539
6016刘丽香1976-11福斯(上海)流体设备有限公司北京分公司90.7541
6017周崧1977-10赢创德固赛(中国)投资有限公司90.7540
6018赵妍1979-07澳科利耳医疗器械(北京)有限公司90.7539
6019贺锐1981-06北京宝洁技术有限公司90.7537

6019 rows × 5 columns

bins = np.arange(30,61,5)
box = pd.cut(df.age,bins,right = False)
ser = df.groupby(box).name.count()
ser
age
[30, 35)      35
[35, 40)    1449
[40, 45)    3637
[45, 50)     878
[50, 55)      16
[55, 60)       3
Name: name, dtype: int64
ser.plot(kind = 'bar')
plt.xticks(rotation = 0)
for i in range(ser.size):
    plt.text(i,ser[i]+30,ser[i],ha = 'center')   #数字居中显示
plt.show()


sample 使用
# 随机抽取200条数据
df.sample(n = 200)
namebirthdaycompanyscoreage
id
2216台令娟1977-09北京市君合律师事务所95.8840
4187陈琛1974-10中交远洲信息技术(北京)股份有限公司92.7143
2037杨正兵1979-07北京金水桥工程技术咨询有限公司96.2539
2874马紫雯1980-03中央电视台94.6738
3046张云龙1977-09北京联恒创业科技有限公司94.3840
..................
1065王胜美1975-03毕马威华振会计师事务所(特殊普通合伙)99.4143
1547王伟1976-09北京中软国际信息技术有限公司97.6241
5233燕宇飞1983-08百度在线网络技术(北京)有限公司91.5534
5769王翼昕1979-04北京数字中远网络技术服务有限公司90.9939
2237杜虎1978-05中节能太阳能科技有限公司95.8440

200 rows × 5 columns

# 随机抽取x%的数据
# obj.sample(frac = 0.x)
df.sample(frac=0.1)
namebirthdaycompanyscoreage
id
5384高燕1980-11腾讯科技(北京)有限公司91.3837
3539张正国1980-06阿里巴巴(北京)软件服务有限公司93.6338
4554张仁1974-12冠捷显示科技(中国)有限公司92.2943
4126李吉友1974-10北京华为数字技术有限公司92.8343
3657张宁1975-07北京兴润诚会计师事务所(普通合伙)93.4643
..................
2558韩淼1978-09耐瑞唯信(北京)技术有限公司95.2539
3482许春实1974-03北京三星鹏泰技术咨询有限公司93.7144
1282刘芳1977-01亚信科技(成都)有限公司北京分公司98.5041
1667董洪1975-04中央电视台97.2943
2632苏波1976-08北京亿云力科技有限公司95.0941

602 rows × 5 columns

dataframe.replace(0,5)将Dataframe中0替换为5

dataframe.replace([0,1,2,3],[4,3,2,1])将Dataframe中[0,1,2,3]分别替换为[4,3,2,1]

dataframe.replace(to_replace = r’正则表达式’,value = 要替换的值,regex = True)
等价于
dataframe.replace(regex = r’正则表达式’,value = 要替换的值)

dataframe.replace({‘A’:r’正则表达式’},{‘A’:‘new_value’}) - 将A列的满足正则条件的值替换为新值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号