#【Pandas】18 小练习
2023.1.16 两个pandas小练习
18.1 疫情数据分析
18.1.1 观察数据
import pandas as pd
import os
df = pd.read_csv("data/covid19_day_wise.csv")
df
Date | Confirmed | Deaths | Recovered | Active | New cases | New deaths | New recovered | Deaths / 100 Cases | Recovered / 100 Cases | Deaths / 100 Recovered | No. of countries | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2020-01-22 | 555 | 17 | 28 | 510 | 0 | 0 | 0 | 3.06 | 5.05 | 60.71 | 6 |
1 | 2020-01-23 | 654 | 18 | 30 | 606 | 99 | 1 | 2 | 2.75 | 4.59 | 60.00 | 8 |
2 | 2020-01-24 | 941 | 26 | 36 | 879 | 287 | 8 | 6 | 2.76 | 3.83 | 72.22 | 9 |
3 | 2020-01-25 | 1434 | 42 | 39 | 1353 | 493 | 16 | 3 | 2.93 | 2.72 | 107.69 | 11 |
4 | 2020-01-26 | 2118 | 56 | 52 | 2010 | 684 | 14 | 13 | 2.64 | 2.46 | 107.69 | 13 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
183 | 2020-07-23 | 15510481 | 633506 | 8710969 | 6166006 | 282756 | 9966 | 169714 | 4.08 | 56.16 | 7.27 | 187 |
184 | 2020-07-24 | 15791645 | 639650 | 8939705 | 6212290 | 281164 | 6144 | 228736 | 4.05 | 56.61 | 7.16 | 187 |
185 | 2020-07-25 | 16047190 | 644517 | 9158743 | 6243930 | 255545 | 4867 | 219038 | 4.02 | 57.07 | 7.04 | 187 |
186 | 2020-07-26 | 16251796 | 648621 | 9293464 | 6309711 | 204606 | 4104 | 134721 | 3.99 | 57.18 | 6.98 | 187 |
187 | 2020-07-27 | 16480485 | 654036 | 9468087 | 6358362 | 228693 | 5415 | 174623 | 3.97 | 57.45 | 6.91 | 187 |
188 rows × 12 columns
*我的输入错误:readcsv
- 观察一下head
df.head()
Date | Confirmed | Deaths | Recovered | Active | New cases | New deaths | New recovered | Deaths / 100 Cases | Recovered / 100 Cases | Deaths / 100 Recovered | No. of countries | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2020-01-22 | 555 | 17 | 28 | 510 | 0 | 0 | 0 | 3.06 | 5.05 | 60.71 | 6 |
1 | 2020-01-23 | 654 | 18 | 30 | 606 | 99 | 1 | 2 | 2.75 | 4.59 | 60.00 | 8 |
2 | 2020-01-24 | 941 | 26 | 36 | 879 | 287 | 8 | 6 | 2.76 | 3.83 | 72.22 | 9 |
3 | 2020-01-25 | 1434 | 42 | 39 | 1353 | 493 | 16 | 3 | 2.93 | 2.72 | 107.69 | 11 |
4 | 2020-01-26 | 2118 | 56 | 52 | 2010 | 684 | 14 | 13 | 2.64 | 2.46 | 107.69 | 13 |
18.1.2 完成以下数据处理
- 获取 2020 年 2 月 3 日的所有数据
- 2020 年 1 月 24 日之前的累积确诊病例有多少个?
- 2020 年 7 月 23 日的新增死亡数是多少?
- 从 1 月 25 日到 7 月 22 日,一共增长了多少确诊病例?
- 每天新增确诊数和新恢复数的比例?平均比例,标准差各是多少?
- 画图展示新增确诊的变化曲线
- 画图展示死亡率的变化曲线
【练习读取数据】
- 获取 2020 年 2 月 3 日的所有数据
df[df["Date"]=="2020-02-03"]
Date | Confirmed | Deaths | Recovered | Active | New cases | New deaths | New recovered | Deaths / 100 Cases | Recovered / 100 Cases | Deaths / 100 Recovered | No. of countries | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
12 | 2020-02-03 | 19887 | 426 | 604 | 18857 | 3100 | 64 | 145 | 2.14 | 3.04 | 70.53 | 25 |
*注意就是日期格式 0203
- 2020 年 1 月 24 日之前的累积确诊病例有多少个?
我们发现有个Confirmed
通过数字发现应该是之前确诊的
# 方法1
df[df["Date"]=="2020-01-24"]["Confirmed"]
2 941
Name: Confirmed, dtype: int64
# 方法2
df.loc[df["Date"]=="2020-01-24","Confirmed"]
2 941
Name: Confirmed, dtype: int64
*注意和python区别 ,如果用索引查找 要用loc
- 2020 年 7 月 23 日的新增死亡数是多少?
也是读取 NewCaes
df.loc[df["Date"]=="2020-07-23","New deaths"]
183 9966
Name: New