【发布时间】:2019-04-13 12:51:52
【问题描述】:
我得到了一种迭代,而不是索引值。
我有一个数据框。 我对该数据框进行切片。 然后我将该数据帧转换为 numpy 数组,以便从切片中提取唯一值。 然后我将 numpy 数组转换回数据框。 然后我运行一个 for 循环来提取与唯一值相对应的原始数据帧切片的值的索引。 我的行为很奇怪。
df = pd.read_excel('Book2.xlsm')
v = (df.loc[:, 'test'].values)
g = np.unique(v, return_index=True)
v2 = pd.DataFrame(g)
for v2 in df.loc[:, 'test']:
print (df.index)
我所说的奇怪行为:
RangeIndex(start=0, stop=14465, step=1)
RangeIndex(start=0, stop=14465, step=1)
RangeIndex(start=0, stop=14465, step=1)
RangeIndex(start=0, stop=14465, step=1)
RangeIndex(start=0, stop=14465, step=1)
RangeIndex(start=0, stop=14465, step=1)
RangeIndex(start=0, stop=14465, step=1)
RangeIndex(start=0, stop=14465, step=1)
我得到上面的 14465 行。但没有索引值
示例数据帧
test age
0 17 - Alpha OH PROGESTERONE - HORMONE ASSAYS 23.0
1 17 - Alpha OH PROGESTERONE - HORMONE ASSAYS 26.0
2 17 ALPHA HYDROXY PROGESTERONE 18.0
3 17 ALPHA HYDROXY PROGESTERONE 18.0
4 17 ALPHA HYDROXY PROGESTERONE 21.0
5 17 ALPHA HYDROXY PROGESTERONE 25.0
6 17 ALPHA HYDROXY PROGESTERONE 27.0
7 24 hrs URINE FOR CREATININE 32.0
8 24 hrs URINE FOR CREATININE 43.0
9 24 hrs URINE FOR CREATININE 52.0
10 24 hrs URINE FOR CREATININE 53.0
11 24 hrs URINE FOR CREATININE 56.0
12 24 hrs URINE FOR CREATININE 57.0
13 24 hrs URINE FOR CREATININE 57.0
14 24 hrs URINE FOR CREATININE 57.0
15 24 hrs URINE FOR CREATININE 58.0
16 24 hrs URINE FOR CREATININE 62.0
17 24 hrs URINE FOR CREATININE 85.0
18 24 hrs URINE FOR PROTEIN 3.0
19 24 hrs URINE FOR PROTEIN 5.0
20 24 hrs URINE FOR PROTEIN 5.0
21 24 hrs URINE FOR PROTEIN 16.0
22 24 hrs URINE FOR PROTEIN 25.0
23 24 hrs URINE FOR PROTEIN 27.0
24 24 hrs URINE FOR PROTEIN 28.0
25 24 hrs URINE FOR PROTEIN 32.0
26 24 hrs URINE FOR PROTEIN 32.0
27 24 hrs URINE FOR PROTEIN 32.0
28 24 hrs URINE FOR PROTEIN 33.0
29 24 hrs URINE FOR PROTEIN 34.0
输出应该是这样的:
[0:1]
[2:6]
[7:17]
[18:29]
【问题讨论】:
-
请发布一个示例数据框,我们可以复制粘贴来复制它,也发布预期的输出只是为了清楚。谢谢
-
你想要什么?每个组的第一个索引与最后一个索引?
-
是的。没错!
标签: python python-3.x pandas numpy dataframe