pandas数据分析使用技巧
1、被下单数最多商品(item)是什么
c = chipo[['item_name','quantity']].groupby(['item_name'],as_index=False).agg({'quantity':sum})
c.sort_values(['quantity'],ascending=False,inplace=True)
c.head()
groupby() 和 agg()
2、在item_name这一列中,一共有多少种商品被下单?
(1)
chipo['item_name'].nunique()
(2)
len(chipo.item_name.value_counts())
nunique()
3、将item_price转换为浮点数
chipo['item_price'] = chipo.item_price.apply(lambda x: float(x[1: ]))
apply()+lambda
4、在该数据集对应的时期内,收入(revenue)是多少
revenue = (chipo['quantity'] * chipo['item_price']).sum()
sum()
5、对数据框discipline按照先Red Cards再Yellow Cards进行排序
discipline.sort_values(['Red Cards', 'Yellow Cards'], ascending = False)
sort_values() , sort_index()
6、选取以字母G开头的球队数据
euro12[euro12.Team.str.startswith('G')]
str.startswith()
7、找到英格兰(England)、意大利(Italy)和俄罗斯(Russia)的射正率(Shooting Accuracy)
euro12.loc[euro12.Team.isin(['England', 'Italy', 'Russia']), ['Team','Shooting Accuracy']]
loc(), isin()
8、打印出每个大陆对spirit饮品消耗的平均值,最大值和最小值
drinks.groupby('continent').spirit_servings.agg(['mean', 'min', 'max'])
9、将Year的数据类型转换为 datetime64
crime.Year = pd.to_datetime(crime.Year, format='%Y')
pd.to_datetime()
10、将列Year设置为数据框的索引
crime = crime.set_index('Year', drop = True)
set_index()
11、del df[‘temp’] 是正确的, 而del df.temp是错误的
12、按照Year对数据框进行分组并求和
temp = crime.resample('10AS').sum() # resample a time series per decades
# 用resample去得到“Population”列的最大值
population = crime['Population'].resample('10AS').max()
# 更新 "Population"
temp['Population'] = population
resample()
13、何时是美国历史上生存最危险的年代?
crime.idxmax(0)
Signature: df.idxmax(axis=0, skipna=True)
Docstring:
Return index of first occurrence of maximum over requested axis.
NA/null values are excluded.
axis : {0 or ‘index’, 1 or ‘columns’}, default 0
0 or ‘index’ for row-wise, 1 or ‘columns’ for column-wise
14、构建dataframe标准数据格式:
raw_data_1 = {'subject_id': ['1', '2', '3', '4', '5'],'first_name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'last_name': ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']}raw_data_2 = {'subject_id': ['4', '5', '6', '7', '8'],'first_name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'last_name': ['Bonder', 'Black', 'Balwner', 'Brice', 'Btisan']}raw_data_3 = {'subject_id': ['1', '2', '3', '4', '5', '7', '8', '9', '10', '11'],'test_id': [51, 15, 15, 61, 16, 14, 15, 1, 61, 16]}
注意构造dataframe的数据格式是字典
15、按照subject_id的值对all_data和data3作合并
pd.merge(all_data, data3, on='subject_id')
merge(on=)
16、“.data”数据的读取方式
data = pd.read_table(‘wind.data’, sep = "\s+", parse_dates = [[0,1,2]])
17、2061年?我们真的有这一年的数据?创建一个函数并用它去修复这个bug。
“Yr_Mo_Dy" datetime64
def fix_century(x):year = x.year - 100 if x.year > 1989 else x.yearreturn datetime.date(year, x.month, x.day)# apply the function fix_century on the column and replace the values to the right ones
data['Yr_Mo_Dy'] = data['Yr_Mo_Dy'].apply(fix_century)
注意这里对datetime类型数据的使用方法 e: x.year
18、对于每一个location,计算一月份的平均风速
pandas.query()相当于sql的查询语句
data['date'] = data.index# creates a column for each value from date
data['month'] = data['date'].apply(lambda date: date.month)
data['year'] = data['date'].apply(lambda date: date.year)
data['day'] = data['date'].apply(lambda date: date.day)# gets all value from the month 1 and assign to janyary_winds
january_winds = data.query('month == 1')# gets the mean from january_winds, using .loc to not print the mean of month, year and day
january_winds.loc[:,'RPT':"MAL"].mean()
query()
19、有重复的日期吗?
apple.index.is_unique
index.is_unique
20、数据集中最早的日期和最晚的日期相差多少天?
apple.index.max() - apple.index.min()).days
21、在数据中一共有多少个月?
(太神奇了,这是个神奇的组合键 sft+option+k)
apple_months = apple.resample('BM').mean()
len(apple_months.index)
resample是一个非常重要的函数,抽样函数
22、 删除有缺失值的行
iris = iris.dropna(how='any')
dropna(how = )
23、重新设置索引
iris = iris.reset_index(drop = True)
reset_index(drop=True)
pandas数据分析使用技巧相关推荐
- pandas 数据分析常用技巧
最近在做一些真实实验数据的处理,用到了pandas库,也着着实实感受到了pandas的魅力,这篇博客做个总结以及扩展. Pandas基于两种数据类型:series与dataframe.seri ...
- Pandas 数据分析 5 个实用小技巧
Python与算法社区 第443篇原创,干货满满 值得星标 01 02 03 三步加星标 你好,我是 zhenguo 我攥了很久才汇总出这个小技巧系列手册,现暂命名为:<Pandas数据分析小技 ...
- Python数据分析小技巧:如何在Pandas中实现数据透视表?
Python数据分析小技巧:如何在Pandas中实现数据透视表? 数据透视表是数据分析中非常有用的工具,可以帮助我们快速了解数据的结构.关联和趋势.在Pandas中,我们可以使用pivot_table ...
- Python 全栈 400 之Pandas数据分析练习
288 Pandas 读取 URL 路径的文件 数据输入路径,可以是文件路径,也可以是 URL,或者实现 read 方法的任意对象. 如下经典的数据集 iris,直接通过 URL 获取. In [16 ...
- 干货资料《Pandas数据分析与实战》配套资料下载,速领
" 希望你有很好的朋友,可以跟他说说心里话:希望你有喜欢的事,可以暂时摆脱世界困扰:希望你难过的时候,有一份美食与一份音乐:希望你有关注我们,可以一起学习一起进步. " 今天小编给 ...
- pandas 数据分析 相关性_探索 COVID-19 新冠数据来学习 Pandas
来源:python中文社区 本文约2100字,建议阅读6分钟. 使用 pandas 数据分析工具来学习一些基本的 pandas 命令,并探索数据集中包含的内容. 欧洲疾病预防控制中心(https:// ...
- pandas数据分析选则接近数值的最接优方案
import numpy as np import pandas as pd# pandas数据分析选则接近数值的最接优方案# 1.准备数据 CHILD_TABLE = (720, 750) CHID ...
- Pandas数据分析——Task2
练习题 Ex1:口袋妖怪数据集 现有一份口袋妖怪的数据集,下面进行一些背景说明: #代表全国图鉴编号,不同行存在相同数字则表示为该妖怪的不同状态 妖怪具有单属性和双属性两种,对于单属性的妖怪,Type ...
- Pandas数据分析groupby函数深度总结(1)
Pandas数据分析groupby函数深度总结(1) groupby分组数据 加载数据 数据分组 按'Sales Rep'列分组 显示所有分组 选择一个特定的组 计算每组中的行数 按'Sales Re ...
最新文章
- 去除VisualStudio中拼写错误检测的红色波浪线
- 机柜服务器选择学问大!
- 201803-2碰撞的小球
- ES5-11原型与原型链深入、对象继承
- python 输入数字变成密码_如何在python中检查数字的“密码”
- html不支持元素video,Html5中的Video元素使用方法
- 时序数据库timescaleDB安装
- MySQL详细教程 这一篇就够啦!
- 解决gaim+msn的ssl库及不能发出提示音问题的指南(转)
- Gliffy Diagrams(在线绘图)
- Keil 安装 配置
- 电力拖动自动控制系统复习(二)
- ANSI-美国国家标准学会
- 债券收益率预测模型_股债收益率模型看A股估值 股债收益率模型(EYBY)是一个经典的股市估值模型,其基本思想是将“股票收益率”(EY)与“债券收益率”(BY)进行对比... - 雪球...
- librosa 语音库(二)STFT 的实现
- 中文转换为拼音插件guiHz2Py
- 这就是你日日夜夜想要的docker!!!---------Harbor私有仓库
- 骞云再获阿里云产品生态集成认证,携手共建云原生管理新生态
- 服务器账号登录失败怎么回事,远程连接云服务器登录失败是什么原因
- 2008年10月2号,星期四,晴。不患人之不己知,患不知人也。(孔子)