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

输出:
Alt
第二步:使用unique()函数

df_1['Name'].nunique()      

输出:
Alt

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

第一步:

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

结果:
Alt
没有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])                                       

alt
注:谢谢观看,如果代码有错误,感谢您的指导!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值