python - 将行插入到 Dataframe 的特定索引
问题描述
我想将特定行插入数据框。数据框包含 id、hourname 和 count 列。我想在没有数据的小时(0-23)中插入行。这是我的数据框,
index id hourname count
0 a 0 1
1 a 4 1
2 a 14 1
3 a 15 3
4 a 17 1
5 a 20 1
这就是我想要实现的
index id hourname count
0 a 0 1
1 a 1 0
2 a 2 0
3 a 3 0
4 a 4 1
5 a 5 0
6 a 6 0
7 a 7 0
8 a 8 0
9 a 9 0
10 a 10 0
11 a 11 0
12 a 12 0
13 a 13 0
14 a 14 1
15 a 15 3
16 a 16 0
17 a 17 1
18 a 18 0
19 a 19 0
20 a 20 1
21 a 21 0
22 a 22 0
23 a 23 0
我从 csv 文件中获取数据,这是文件内容(文件名在源代码中为 a.csv)
,id,hourname,count
0,a,0,1
1,a,4,1
2,a,14,1
3,a,15,3
4,a,17,1
5,a,20,1
这是我的源代码
import csv
import pandas as pd
import numpy as np
result4 = pd.read_csv("a.csv")
print(result4)
for i in range(0,23):
if result4.loc[i, 'hourname'] != i:
line = pd.DataFrame({"id": "a", "hourname": i, "count":0}, index=[i])
result4 = result4.append(line, ignore_index=False)
result4 = result4.sort_index().reset_index(drop=True)
print(result4)
解决方案
尝试,
hours_df = pd.DataFrame({'hourname': range(0,23)})
df = your_df.merge(hours_df, how='right', on='hourname')
这会给你所有的时间。然后填写缺失的id并计数
df['id'] = df['id'].ffill()
df['count'] = df['count'].fillna(0)
推荐阅读
- css - Dynamicall 根据 iframe 内容进行 CSS 更新
- mysql - arduino wifi客户端未将数据发布到mysql服务器
- javascript - 如何使用剧作家捕捉内容?
什么是正确的查询选择器来获取所有标签并进行迭代以捕获表数据?以下查询选择器无法在 DOM 中找到元素。先感谢您
const allusers = await page.$$eval('tbody .MuiTableRow-root', (users) => { return users.map(user => { const email = user.querySelector
- mp4 - 分析奇特的avcC原子结构
- mongodb - 应用程序错误、heroku 托管、后端应用程序
- python - 找不到 add_intercept 的签名:
- javascript - 通过 React 使用 useState 和 onClick 更改背景图像
- c# - 剃刀页面。路由问题。重定向到另一个页面
- javascript - 对于具有多个会话/房间且每个都使用定时事件的多人游戏来说,正确的设置是什么
- linux - 我的 Linux 中安装了这么多 Python3 包(WSL - Ubuntu)