豆瓣数据分析

时间:2022-07-25
本文章向大家介绍豆瓣数据分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import pandas as pd
data= pd.read_excel('movies.xlsx',names=['名称','数量','评分','短评'])
# type(data)
data.head()

名称

数量

评分

短评

0

霸王别姬

1006313

9.6

风华绝代。

1

这个杀手不太冷

1244984

9.4

怪蜀黍和小萝莉不得不说的故事。

2

阿甘正传

1072395

9.4

一部美国近现代史。

3

美丽人生

627468

9.5

最美的谎言。

4

泰坦尼克号

1012652

9.3

失去的才是永恒的。

data.columns
Index(['名称', '数量', '评分', '短评'], dtype='object')
# type(data['名称'])
data['名称']
0              霸王别姬
1           这个杀手不太冷
2              阿甘正传
3              美丽人生
4             泰坦尼克号
5              千与千寻
6            辛德勒的名单
7              盗梦空间
8           忠犬八公的故事
9            机器人总动员
10          三傻大闹宝莱坞
11            海上钢琴师
12           放牛班的春天
13            楚门的世界
14        大话西游之大圣娶亲
15             星际穿越
16               龙猫
17               教父
18               熔炉
19              无间道
20            疯狂动物城
21           当幸福来敲门
22             怦然心动
23             触不可及
24             乱世佳人
25         蝙蝠侠:黑暗骑士
26               活着
27         少年派的奇幻漂流
28            天堂电影院
29             控方证人
           ...     
219           海蒂和爷爷
220         彗星来的那一夜
221        这个男人来自地球
222        E.T. 外星人
223            末路狂花
224              血钻
225           勇闯夺命岛
226              聚焦
227        2001太空漫游
228              变脸
229             发条橙
230           秒速5厘米
231           黄金三镖客
232            黑鹰坠落
233           卡萨布兰卡
234           非常嫌疑犯
235           国王的演讲
236             我爱你
237            千钧一发
238            美国丽人
239            遗愿清单
240            碧海蓝天
241              功夫
242    疯狂的麦克斯4:狂暴之路
243            荒岛余生
244            英国病人
245            荒野生存
246            海盗电台
247              枪火
248             驴得水
Name: 名称, Length: 249, dtype: object
type(data)
pandas.core.frame.DataFrame
data['评分'].unique()
array([9.6, 9.4, 9.5, 9.3, 9.2, 9.1, 9. , 8.9, 8.8, 8.7, 8.6, 8.5, 8.4,
       8.3])
data['评分'].value_counts()
8.7    49
8.8    37
8.6    28
8.5    26
8.9    23
9.0    22
9.2    19
9.1    18
9.3    10
8.4     5
8.3     5
9.4     3
9.6     2
9.5     2
Name: 评分, dtype: int64
data.count()
名称    249
数量    249
评分    249
短评    249
dtype: int64
data['评分'].sort_values(ascending=False).head()
0     9.6
29    9.6
3     9.5
6     9.5
1     9.4
Name: 评分, dtype: float64
mydata= data.sort_values('评分',ascending=False)
mydata[:5]

名称

数量

评分

短评

0

霸王别姬

1006313

9.6

风华绝代。

29

控方证人

169457

9.6

比利·怀德满分作品。

3

美丽人生

627468

9.5

最美的谎言。

6

辛德勒的名单

559470

9.5

拯救一个人,就是拯救整个世界。

2

阿甘正传

1072395

9.4

一部美国近现代史。

mydata = mydata[mydata['评分']>=9.0]
mydata[:5]

名称

数量

评分

短评

0

霸王别姬

1006313

9.6

风华绝代。

29

控方证人

169457

9.6

比利·怀德满分作品。

3

美丽人生

627468

9.5

最美的谎言。

6

辛德勒的名单

559470

9.5

拯救一个人,就是拯救整个世界。

2

阿甘正传

1072395

9.4

一部美国近现代史。

import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(mydata['评分'][:10])
[<matplotlib.lines.Line2D at 0x1155c77f0>]
data['数量'].max()
1244984
data['数量'].min()
59351
data['数量'].mean()
351006.7309236948
data['数量'].std()
212599.02596265593
data['数量'].sum()
87400676
print(type(data))
data.max()
<class 'pandas.core.frame.DataFrame'>
名称         龙猫
数量    1244984
评分        9.6
短评      黑暗之美。
dtype: object
data.min()
名称     2001太空漫游
数量        59351
评分          8.3
短评    10年的完美句点。
dtype: object
data.describe()

数量

评分

count

2.490000e+02

249.000000

mean

3.510067e+05

8.826908

std

2.125990e+05

0.265106

min

5.935100e+04

8.300000

25%

1.966710e+05

8.600000

50%

3.031070e+05

8.800000

75%

4.491280e+05

9.000000

max

1.244984e+06

9.600000

import numpy as np
import matplotlib.pyplot as plt
print(np.random.rand(10,5))
[[0.06534353 0.97945461 0.77264886 0.09217931 0.03818879]
 [0.37487663 0.94729866 0.93761311 0.33253573 0.12410137]
 [0.90175197 0.1261661  0.46883487 0.21428544 0.20246974]
 [0.13831376 0.98676992 0.29213258 0.43995975 0.1951879 ]
 [0.95903727 0.73117191 0.8748356  0.91027405 0.67421481]
 [0.8891639  0.15049911 0.56480693 0.8188505  0.88357648]
 [0.20351699 0.78387182 0.1909873  0.63236618 0.52334975]
 [0.91667992 0.60368927 0.71227469 0.75473114 0.20006459]
 [0.26042912 0.43843231 0.80063423 0.37067082 0.22973715]
 [0.78054444 0.76480811 0.44982223 0.34480735 0.50784841]]
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
plt.plot(df) 
[<matplotlib.lines.Line2D at 0x11564f828>,
 <matplotlib.lines.Line2D at 0x1156b0240>,
 <matplotlib.lines.Line2D at 0x1156b0390>,
 <matplotlib.lines.Line2D at 0x1156b04e0>,
 <matplotlib.lines.Line2D at 0x1156b0630>]
plt.plot(data['评分'][:20])
[<matplotlib.lines.Line2D at 0x11576a5c0>]