Pandas基础练习1
【练习一】 现有一份关于美剧《权力的游戏》剧本的数据集,请解决以下问题:
(a)在所有的数据中,一共出现了多少人物?
1、第一步:准备数据
import pandas as pd
import numpy as np
df_1 = pd.read_csv('../joyful-pandas/data/Game_of_Thrones_Script.csv')
输出:
第二步:使用unique()函数
df_1['Name'].nunique()
输出:
(b)以单元格计数(即简单把一个单元格视作一句),谁说了最多的话?
第一步:
num = df_1['Sentence'].isna().sum() #先观察是否有nan缺失值
结果:
没有nan缺失值
第二步:
df_1['Name'].value_counts().index[0]
#根据Name的值指定列中有多少不同数据值,并计算每个值的个数并排序,默认为从高到低,取出最大的哪个值。
(c)以单词计数,谁说了最多的单词?
#查看每个句子有多少个单词
df_counts = df_1['Sentence'].apply(lambda x:len(x.split(' ')))
#将单词数字段转换为列表
df_values = df_counts.values.tolist()
#将这列数据加入到原dataframe中
df_1['Sentence_counts'] = df_values
#将其按照Name分组,并按照单词书求和并逆序排序
df_result = df_1.groupby('Name')['Sentence_counts'].sum().sort_values(ascending=False)
#输出结果
print(df_result.index[0])
注:谢谢观看,如果代码有错误,感谢您的指导!