[英]fill data to dataframe python
是否可以添加未在數據框中顯示的其他小時並將其值設置為0?
+---+------+--------------+<br>
| hr|counts| app|<br>
+---+------+--------------+<br>
| 02| 1| "DNS"|<br>
| 13| 2| "DNS"|<br>
+---+------+--------------+<br>
我希望它成為
+---+------+--------------+<br>
| hr|counts| app|<br>
+---+------+--------------+<br>
| 00| 0| "DNS"|<br>
| 01| 0| "DNS"|<br>
| 02| 1| "DNS"|<br> <---- new
| 03| 0| "DNS"|<br>
| 04| 0| "DNS"|<br>
| 05| 0| "DNS"|<br>
.<br>
.<br>
| 11| 0| "DNS"|<br>
| 12| 0| "DNS"|<br>
| 13| 2| "DNS"|<br> <---- new
| 14| 0| "DNS"|<br>
| 15| 0| "DNS"|<br>
| 16| 0| "DNS"|<br>
.<br>
.<br>
| 22| 0| "DNS"|<br>
| 23| 0| "DNS"|<br>
+---+------+--------------+<br>
dtypes:
計數float64
應用程式物件
dtype:對象
這是使用set_index
和reindex
的一種方法
In [4971]: df.set_index('hr').reindex(range(24)).fillna(0).assign(app='DNS').reset_index()
Out[4971]:
hr counts app
0 0 0.0 DNS
1 1 0.0 DNS
2 2 1.0 DNS
3 3 0.0 DNS
4 4 0.0 DNS
5 5 0.0 DNS
6 6 0.0 DNS
7 7 0.0 DNS
8 8 0.0 DNS
9 9 0.0 DNS
10 10 0.0 DNS
11 11 0.0 DNS
12 12 0.0 DNS
13 13 2.0 DNS
14 14 0.0 DNS
15 15 0.0 DNS
16 16 0.0 DNS
17 17 0.0 DNS
18 18 0.0 DNS
19 19 0.0 DNS
20 20 0.0 DNS
21 21 0.0 DNS
22 22 0.0 DNS
23 23 0.0 DNS
細節
In [4954]: df
Out[4954]:
hr counts app
0 2 1 DNS
1 13 2 DNS
腳步
為簡潔起見,僅顯示前5行
In [4974]: df.set_index('hr').reindex(range(24)).head()
Out[4974]:
counts app
hr
0 NaN NaN
1 NaN NaN
2 1.0 DNS
3 NaN NaN
4 NaN NaN
In [4975]: df.set_index('hr').reindex(range(24)).fillna(0).head()
Out[4975]:
counts app
hr
0 0.0 0
1 0.0 0
2 1.0 DNS
3 0.0 0
4 0.0 0
In [4976]: df.set_index('hr').reindex(range(24)).fillna(0).assign(app='DNS').head()
Out[4976]:
counts app
hr
0 0.0 DNS
1 0.0 DNS
2 1.0 DNS
3 0.0 DNS
4 0.0 DNS
編輯
但是,如果由於尾隨零而使您的hr
列為字符串/對象類型,請使用自定義格式的范圍索引hrs
In [5006]: df
Out[5006]:
hr counts app
0 02 1 DNS
1 13 2 DNS
In [5007]: hrs = map('{:02d}'.format, range(24))
In [5008]: df.set_index('hr').reindex(hrs).fillna(0).assign(app='DNS').reset_index()
Out[5008]:
hr counts app
0 00 0.0 DNS
1 01 0.0 DNS
2 02 1.0 DNS
3 03 0.0 DNS
4 04 0.0 DNS
5 05 0.0 DNS
6 06 0.0 DNS
7 07 0.0 DNS
8 08 0.0 DNS
9 09 0.0 DNS
10 10 0.0 DNS
11 11 0.0 DNS
12 12 0.0 DNS
13 13 2.0 DNS
14 14 0.0 DNS
15 15 0.0 DNS
16 16 0.0 DNS
17 17 0.0 DNS
18 18 0.0 DNS
19 19 0.0 DNS
20 20 0.0 DNS
21 21 0.0 DNS
22 22 0.0 DNS
23 23 0.0 DNS
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.