python数据分析库pandas使用之三

Day 3

Pandas基本操作

titanic数据集: 密码:pje4

merge操作

import pandas as pd
left = pd.DataFrame({'key':['K1','K2','K3','K4'],
                    'A':['A1','A2','A3','A4'],
                    'B':['B1','B2','B3','B4']})

right = pd.DataFrame({'key':['K1','K2','K3','K4'],
                    'C':['C1','C2','C3','C4'],
                    'D':['D1','D2','D3','D4']})
left
right

在这里插入图片描述在这里插入图片描述

pd.merge(left,right,on='key') #以key为键

在这里插入图片描述

left = pd.DataFrame({'key1':['K1','K2','K3','K4'],
                     'key2':['K1','K2','K3','K4'],
                    'A':['A1','A2','A3','A4'],
                    'B':['B1','B2','B3','B4']})

right = pd.DataFrame({'key1':['K1','K2','K3','K4'],
                      'key2':['K1','K2','K3','K5'],
                    'C':['C1','C2','C3','C4'],
                    'D':['D1','D2','D3','D4']})
pd.merge(left,right,on='key1')#以key1为键              

在这里插入图片描述

#多个key不一致,一样的被保留下来
pd.merge(left,right,on=['key1','key2']) 

在这里插入图片描述

#how指定并集,多个key不一致,都想保留下来
pd.merge(left,right,on=['key1','key2'],how='outer',indicator=True) 

在这里插入图片描述

#将左表作为基准
pd.merge(left,right,on=['key1','key2'],how='left') 

在这里插入图片描述

显示设置

显示设置具体说明文档戳这里

import pandas as pd
pd.get_option('display.max_rows')
#60
pd.set_option('display.max_rows',100)
pd.Series(index=range(20))
'''
0    NaN
1    NaN
2    NaN
3    NaN
4    NaN
5    NaN
6    NaN
7    NaN
8    NaN
9    NaN
10   NaN
11   NaN
12   NaN
13   NaN
14   NaN
15   NaN
16   NaN
17   NaN
18   NaN
19   NaN
dtype: float64
'''
pd.get_option('display.max_columns')
#20
pd.set_option('display.max_columns',30)
pd.DataFrame(columns=range(0,30))
# 	0 	1 	2 	3 	4 	5 	6 	7 	8 	9 	10 	11 	12 	13 	14 	15 	16 	17 	18 	19 	20 	21 	22 	23 	24 	25 	26 	27 	28 	29
pd.get_option('display.max_colwidth') #字符串长度
#50
pd.set_option('display.max_colwidth',100)
pd.Series(index=['A'],data=['t'*70])
'''
A    tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
dtype: object
'''
pd.get_option('display.precision') #小数点后几位
#6
pd.set_option('display.precision',5) #小数点后几位
pd.Series(data=1.143567888976)
'''
0    1.14357
dtype: float64
'''

数据透视表

import pandas as pd
example = pd.DataFrame({'Month': ["January", "January", "January", "January", 
                                  "February", "February", "February", "February", 
                                  "March", "March", "March", "March"],
                   'Category': ["Transportation", "Grocery", "Household", "Entertainment",
                                "Transportation", "Grocery", "Household", "Entertainment",
                                "Transportation", "Grocery", "Household", "Entertainment"],
                   'Amount': [74., 235., 175., 100., 115., 240., 225., 125., 90., 260., 200., 120.]})

在这里插入图片描述

#统计不同种类在不同月份的花费情况
example_pivot = example.pivot(index='Category',columns='Month',values='Amount')
example_pivot

在这里插入图片描述

example_pivot.sum(axis=1)
'''
Category
Entertainment     345.0
Grocery           735.0
Household         600.0
Transportation    279.0
dtype: float64
'''
example_pivot.sum(axis=0)
'''
Month
February    705.0
January     584.0
March       670.0
dtype: float64
'''
df = pd.read_csv('data/titanic.csv')
#不同性别在不同等级船舱中的花费,默认求平均值
df.pivot_table(index='Sex',columns='Pclass',values='Fare')

在这里插入图片描述

#设置求最大值
df.pivot_table(index='Sex',columns='Pclass',values='Fare',aggfunc='max')

在这里插入图片描述

#计数
df.pivot_table(index='Sex',columns='Pclass',values='Fare',aggfunc='count')
#pd.crosstab(index=df['Sex'],columns=df['Pclass'])

在这里插入图片描述

df['Underaged'] = df['Age']<=18
df.pivot_table(index='Underaged',columns='Sex',values='Survived',aggfunc='mean')

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值