Pandas基础练习1

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

输出:
Pandas基础练习1_第1张图片
第二步:使用unique()函数

df_1['Name'].nunique()      

输出:
Pandas基础练习1_第2张图片

(b)以单元格计数(即简单把一个单元格视作一句),谁说了最多的话?

第一步:

num = df_1['Sentence'].isna().sum()     #先观察是否有nan缺失值

结果:
Pandas基础练习1_第3张图片
没有nan缺失值

第二步:

df_1['Name'].value_counts().index[0]     
#根据Name的值指定列中有多少不同数据值,并计算每个值的个数并排序,默认为从高到低,取出最大的哪个值。

Alt

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

Pandas基础练习1_第4张图片
注:谢谢观看,如果代码有错误,感谢您的指导!

你可能感兴趣的:(pandas学习,python,数据分析,pandas)