python - Pandas:如何根据索引值填充索引
问题描述
对于stackoverflow和数据处理来说非常新,如果这是一个过于简单或以前提出的问题,我们深表歉意,
假设我有如下数据:
index = list('ABCDEF')
values = [1,2,3,4,5,6]
test = pd.Series(values, index = index)
A 1
B 2
C 3
D 4
E 5
F 6
并想要创建如下所示的内容,其中每个索引值附加的次数由其在前一个对象中的值给出
0 A
1 B
2 B
3 C
4 C
5 C
6 D
7 D
8 D
9 D
10 E
11 E
12 E
13 E
14 E
15 F
16 F
17 F
18 F
19 F
20 F
我编写了以下代码,但觉得循环破坏了使用 pandas 的全部目的。如果有人知道更简单和优雅的解决方案,请分享:
aggr = pd.Series([])
for index,value in zip(test.index.values,test):
to_append = pd.Series(list(index*value))
aggr = aggr.append(to_append, ignore_index = True)
干杯
解决方案
您可以在索引上使用pd.repeat:
pd.Series(test.index.repeat(test))
0 A
1 B
2 B
3 C
4 C
5 C
6 D
7 D
8 D
9 D
10 E
11 E
12 E
13 E
14 E
15 F
16 F
17 F
18 F
19 F
20 F
推荐阅读
- javascript - NodeJS Express 应用程序 await 仅在异步函数中有效,但这显然是异步函数?
- angular - Angular 6路由忽略来自路由的API调用
- javascript - javascript中的while(true)-它是如何工作的
- jakarta-ee - Wildfly org.dom4j.DocumentFactory 无法转换为 org.dom4j.DocumentFactory
- go - gRPC 设置问题。收到间歇性 RPC 不可用错误
- opengl - VAO 绘制错误的索引缓冲区
- excel - 如果单元格包含字符串,则 Vba 代码索引
- sql - 如何循环遍历存储过程导致coldfusion
- android - Android小部件按钮发送错误的ID
- chi-squared - python中两个矩阵之间的卡方距离