import pandas as pd import numpy as np from pandas import DataFrame import matplotlib.pyplot as plt # 获取分析文件 week_bilibili_popular=pd.read_excel("week_bilibili_popular.xlsx",sheet_name='Sheet1') # 数据预处理 data=week_bilibili_popular.drop_duplicates(subset='bv号',keep='first') data1=week_bilibili_popular.fillna('暂无信息!!!') print("预处理后的数据:",data1) # 统计分析 counts= data1.loc[data1['播放'] == data1['播放'].max()] print("播放量最高的视频:",counts.loc[:,['bv号','分区','up主','播放']]) counts= data1.loc[data1['硬币'] == data1['硬币'].max()] print("投币数最高的视频:",counts.loc[:,['bv号','分区','up主','硬币']]) counts= data1.loc[data1['收藏'] == data1['收藏'].max()] print("收藏量最高的视频:",counts.loc[:,['bv号','分区','up主','收藏']]) # 分组分析 groupby_data=data1.groupby(by=['分区'])['播放','硬币','收藏'].agg({ np.sum, np.mean, np.max, np.min }) print(groupby_data) # 数据可视化 plt.rcParams['font.sans-serif']=['SimHei'] cou=sum(data1['播放']) bcou=sum(data1[data1['分区']=='动物圈']) print(bcou) print(cou)指出错误
时间: 2023-08-07 19:02:27 浏览: 137
python数据分析与可视化 import pandas as pd import numpy as np import m
这段代码有一个错误。在数据可视化部分,有两个变量 `cou` 和 `bcou`,分别表示所有视频的播放量和分区为“动物圈”的视频的播放量,但是 `bcou` 的计算方式不正确。应该将 `bcou=sum(data1[data1['分区']=='动物圈'])` 改为 `bcou=sum(data1[data1['分区']=='动物圈']['播放'])`,即先根据分区筛选出数据,再计算播放量的总和。修改后代码如下:
```python
import pandas as pd
import numpy as np
from pandas import DataFrame
import matplotlib.pyplot as plt
# 获取分析文件
week_bilibili_popular = pd.read_excel("week_bilibili_popular.xlsx", sheet_name='Sheet1')
# 数据预处理
data = week_bilibili_popular.drop_duplicates(subset='bv号', keep='first')
data1 = week_bilibili_popular.fillna('暂无信息!!!')
print("预处理后的数据:", data1)
# 统计分析
counts = data1.loc[data1['播放'] == data1['播放'].max()]
print("播放量最高的视频:", counts.loc[:, ['bv号', '分区', 'up主', '播放']])
counts = data1.loc[data1['硬币'] == data1['硬币'].max()]
print("投币数最高的视频:", counts.loc[:, ['bv号', '分区', 'up主', '硬币']])
counts = data1.loc[data1['收藏'] == data1['收藏'].max()]
print("收藏量最高的视频:", counts.loc[:, ['bv号', '分区', 'up主', '收藏']])
# 分组分析
groupby_data = data1.groupby(by=['分区'])['播放', '硬币', '收藏'].agg({
np.sum,
np.mean,
np.max,
np.min
})
print(groupby_data)
# 数据可视化
plt.rcParams['font.sans-serif'] = ['SimHei']
cou = sum(data1['播放'])
bcou = sum(data1[data1['分区'] == '动物圈']['播放'])
print(bcou)
print(cou)
```
这样就可以正确计算出所有视频的播放量和分区为“动物圈”的视频的播放量了。
阅读全文