lesson_one—通过sort和max方法 获取csv文件中最值数据
lesson_two—通过unique()、describe()和groupby() 统计csv文件中的数据
1.构建数据
def create_data():
# 初始数据集: 婴儿名字和出生率
names = ['Bob','Jessica','Mary','John','Mel']
random.seed(500)# 创建一个种子
# 从 names 列表中选在一个随机名字并执行 1000 次
random_names = [names[random.randint(0,len(names)-1)] for i in range(1000)]
# 打印前10个名字
print(random_names[:10])
births = [random.randint(0,1000) for i in range(1000)]
# 打印前10个生日
print(births[:10])
BabyDataList = list(zip(random_names, births))
# 打印前十个
print(BabyDataList[:10])
return BabyDataList
结果:
['John', 'Mel', 'Mel', 'John', 'Mary', 'John', 'Jessica', 'Bob', 'Mary', 'Mel']
[665, 799, 763, 580, 330, 402, 499, 118, 7, 20]
[('John', 665), ('Mel', 799), ('Mel', 763), ('John', 580), ('Mary', 330), ('John', 402), ('Jessica', 499), ('Bob', 118), ('Mary', 7), ('Mel', 20)]
2.写入文件这边用到了随机数生成的random()函数,生成一个随机性强的数据,便于后期的处理
BabyDataSet = create_data()
# df 是一个 DataFrame对象。 你可以把这个对象理解为包含了 BabyDataset 的内容而格式非常象一个 sql 表格或者 Excel 的数据表
df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births'])
print(df[:10])
# 将df数据输出到csv文件中
df.to_csv('births1000.csv', index=False, header=True)
结果:
Names Births 0 John 665 1 Mel 799 2 Mel 763 3 John 580 4 Mary 330 5 John 402 6 Jessica 499 7 Bob 118 8 Mary 7 9 Mel 20
如果对 DataFrame 结构不了解的话可以参考这篇博客:Pandas数据结构–Series、DataFrame详解
3.读取文件 # 读取csv文件
Location = r'./births1000.csv'
df = pd.read_csv(Location)
4.统计数据
4.1 unique()方法
# 使用 dataframe 的 unique 属性找出 "Names" 列的所有唯一的(unique)的记录。
# 方法一
for x in df['Names'].unique():
print(x)
unique()方法返回参数数组中所有不同的值,并按照从小到大排序
关于unique()函数的详细用法可以参考这篇博客:https://blog.csdn.net/qq_41325698/article/details/87557262
John Mel Mary Jessica Bob4.2 describe() 方法
# 方法二 print(df['Names'].describe())
describe()函数的详细用法可以参考这篇博客:pandas describe()函数使用介绍
count 1000 unique 5 top Mary freq 2204.3 groupby() 方法
# 通过groupby函数进行统计计算
# 创建一个 groupby 的对象
name = df.groupby('Names')
# 在 groupby 对象上执行求和(sum)的功能
df = name.sum()
print(df)
结果:
Names Births Bob 94505 Jessica 98358 John 106004 Mary 101369 Mel 109685
groupby()函数的详细用法可以参考这篇博客:pandas groupby()函数使用及参数详解
这样就实现了对于csv文件中数据的某些关键词出现次数的统计,对应值总数的统计,欢迎留言讨论其他的方法



