应用pandas从文件中读取数据,处理数据,使用groupby提取相关信息

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

# csv, excel, json........
# 1). csv文件的写入

df = pd.DataFrame(
    {' province': ['陕西', '陕西', '四川', '四川', '陕西'],
     ' city': ['咸阳', '宝鸡', '成都', '成都', '宝鸡'],
     ' count1': [1, 2, 3, 4, 5],
     ' count2': [1, 2, 33, 4, 5]
     }
)
print(df)
df.to_csv('doc/csvFile.csv')
print("csv文件保存成功")

# 2). csv文件的读取
df2 = pd.read_csv('doc/csvFile.csv')
print(df2)

# 3). excel文件的写入
df2.to_excel("/tmp/excelFile.xlsx", sheet_name="省份统计")
print("excel文件保存成功")

pandas提供了一个灵活高效的groupby功能,

1). 它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。

2). 根据一个或多个键(可以是函数、数组或DataFrame列>名)拆分pandas对象。

3). 计算分组摘要统计,如计数、平均值、标准差,或用户自定义函数。

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

df = pd.DataFrame(
    {'province': ['陕西', '陕西', '四川', '四川', '陕西'],
     'city': ['咸阳', '宝鸡', '成都', '成都', '宝鸡'],
     'count1': [1, 2, 3, 4, 5],
     'count2': [1, 2, 33, 4, 5]
     }
)



print(df)
# 根据某一列的key值进行统计分析;
grouped = df['count1'].groupby(df['province']) #获取'province'这一列的'count1'的值
print(grouped) #不显示结果,只显示对象
print(grouped.describe()) # 显示此对象的详细信息(包括个数,平均值,标准差,最小值,四分之一大的值,中间值,最大值)
print(grouped.median()) #显示中位数

# 根据城市统计分析cpunt1的信息;
grouped = df['count1'].groupby(df['city'])
print(grouped.max())
#
#
# 指定多个key值进行分类聚合;
grouped = df['count1'].groupby([df['province'], df['city']])
print(grouped)
print(grouped.max())
print(grouped.sum())
print(grouped.count())

#  通过unstack方法, 实现层次化的索引;
# print(grouped.max().unstack())
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值