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())