美文网首页
Pandas04:表操作

Pandas04:表操作

作者: 罗泽坤 | 来源:发表于2020-03-28 21:09 被阅读0次

表的连接与分组操作

import pandas as pd
from pandas import DataFrame

df1 = DataFrame({'name':['ZhangFei', 'GuanYu', 'a', 'b', 'c'], 'data1':range(1,6)})
df2 = DataFrame({'name':['ZhangFei', 'GuanYu', 'A', 'B', 'C'], 'data2':range(1,6)})
print(df1)
print(df2)
df3 = pd.merge(df1, df2, on='name') #以'name'字段合并同内向
print(df3)
       name  data1
0  ZhangFei      1
1    GuanYu      2
2         a      3
3         b      4
4         c      5
       name  data2
0  ZhangFei      1
1    GuanYu      2
2         A      3
3         B      4
4         C      5
       name  data1  data2
0  ZhangFei      1      1
1    GuanYu      2      2
df3 = pd.merge(df1, df2, how='inner')
print(df3)
       name  data1  data2
0  ZhangFei      1      1
1    GuanYu      2      2
df3 = pd.merge(df1, df2, how='left')
print(df3)
       name  data1  data2
0  ZhangFei      1    1.0
1    GuanYu      2    2.0
2         a      3    NaN
3         b      4    NaN
4         c      5    NaN
df3 = pd.merge(df1, df2, how='right')
print(df3)
       name  data1  data2
0  ZhangFei    1.0      1
1    GuanYu    2.0      2
2         A    NaN      3
3         B    NaN      4
4         C    NaN      5
df3 = pd.merge(df1, df2, how='outer')
print(df3)
       name  data1  data2
0  ZhangFei    1.0    1.0
1    GuanYu    2.0    2.0
2         a    3.0    NaN
3         b    4.0    NaN
4         c    5.0    NaN
5         A    NaN    3.0
6         B    NaN    4.0
7         C    NaN    5.0
import pandas as pd
import numpy as np
# 因为文件中有中文,所以采用gbk编码读取
data = pd.read_csv('E:\Data_Analysis_with_Python\L2\dataframe\heros2.csv', encoding='gbk')
print(data)

result2 = data.groupby('role').agg([np.sum, np.mean])
result1 = data.groupby('role')
for i in result1:
    print(i)
#result.to_csv('heros2.csv')
print(result2)
  name role  Chinese  Maths  English
0   张飞   坦克       66     30       65
1   关羽   战士       95     98       85
2   刘备   战士       93     96       92
3   典韦   战士       90     77       88
4   许褚   坦克       80     90       90
('坦克',   name role  Chinese  Maths  English
0   张飞   坦克       66     30       65
4   许褚   坦克       80     90       90)
('战士',   name role  Chinese  Maths  English
1   关羽   战士       95     98       85
2   刘备   战士       93     96       92
3   典韦   战士       90     77       88)
     Chinese            Maths            English           
         sum       mean   sum       mean     sum       mean
role                                                       
坦克       146  73.000000   120  60.000000     155  77.500000
战士       278  92.666667   271  90.333333     265  88.333333

相关文章

  • Pandas04:表操作

    表的连接与分组操作

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • 表操作

    1、创建表(DDL) CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_n...

  • 表操作

    创建表 关键字:CREATE TABLE。 如: CREATE TABLE 后跟的是表名,() 中是列名,列的数据...

  • 表操作

    选择表 -- select Sheets(2).selectSheets("2月").SelectSheet2.s...

  • 操作表

    名称:走(走路) 1.介绍工作名称“我今天要示范的工作是走路请大家仔细观察。 2,准备动作:抬头挺胸,双手自然下垂...

  • Oracle基础总结

    Oracle开发基础重点 Oracle一般操作 表空间 用户 表 表数据 Oracle 查询操作 单表查询 多表查...

  • Django 多对对关系ManyToManyField对象数据查

    角色表 操作表 添加 查询

  • 记录一次简单的性能优化

    需求 有个简单的需求,查询操作记录。涉及两张表:1).操作记录表 2).用户表 操作记录表有50w ~ 100w条...

  • 《Hbase企业应用开发实战》笔记-第五章 客户端操作

    原生java api 表创建、删除、修改 表状态 region操作、快照操作、其他操作 ** 连接池HTableP...

网友评论

      本文标题:Pandas04:表操作

      本文链接:https://www.haomeiwen.com/subject/adxeuhtx.html