Indexing 我想用Python获得按列分组的索引
我想用python获得按列分组的索引。相等行的索引 我有这个数据框:Indexing 我想用Python获得按列分组的索引,indexing,reset,Indexing,Reset,我想用python获得按列分组的索引。相等行的索引 我有这个数据框: df = pandas.DataFrame({'Antenna':['Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne',
df = pandas.DataFrame({'Antenna':['Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne'],
'Col':['Sektor', 'Sektor', 'Sektor', 'Richtung', 'Richtung', 'Richtung', 'Rifu', 'Rifu', 'Rifu', 'Richtung', 'Richtung', 'Richtung', 'Bemerkung']})
df
Antenna Col
0 Sektorantenne Sektor
1 Sektorantenne Sektor
2 Sektorantenne Sektor
3 Sektorantenne Richtung
4 Sektorantenne Richtung
5 Sektorantenne Richtung
6 Richtfunkantenne Rifu
7 Richtfunkantenne Rifu
8 Richtfunkantenne Rifu
9 Richtfunkantenne Richtung
10 Richtfunkantenne Richtung
11 Richtfunkantenne Richtung
12 Richtfunkantenne Bemerkung
df_in
Antenna Col Index
0 Sektorantenne Sektor 0
1 Sektorantenne Sektor 1
2 Sektorantenne Sektor 2
3 Sektorantenne Richtung 0
4 Sektorantenne Richtung 1
5 Sektorantenne Richtung 2
6 Richtfunkantenne Rifu 0
7 Richtfunkantenne Rifu 1
8 Richtfunkantenne Rifu 2
9 Richtfunkantenne Richtung 0
10 Richtfunkantenne Richtung 1
11 Richtfunkantenne Richtung 2
12 Richtfunkantenne Bemerkung 0
# I have tried things like
df_in = df.groupby(['Antenna', 'Col']).reset_index()
我要获取此数据帧:
df = pandas.DataFrame({'Antenna':['Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Sektorantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne', 'Richtfunkantenne'],
'Col':['Sektor', 'Sektor', 'Sektor', 'Richtung', 'Richtung', 'Richtung', 'Rifu', 'Rifu', 'Rifu', 'Richtung', 'Richtung', 'Richtung', 'Bemerkung']})
df
Antenna Col
0 Sektorantenne Sektor
1 Sektorantenne Sektor
2 Sektorantenne Sektor
3 Sektorantenne Richtung
4 Sektorantenne Richtung
5 Sektorantenne Richtung
6 Richtfunkantenne Rifu
7 Richtfunkantenne Rifu
8 Richtfunkantenne Rifu
9 Richtfunkantenne Richtung
10 Richtfunkantenne Richtung
11 Richtfunkantenne Richtung
12 Richtfunkantenne Bemerkung
df_in
Antenna Col Index
0 Sektorantenne Sektor 0
1 Sektorantenne Sektor 1
2 Sektorantenne Sektor 2
3 Sektorantenne Richtung 0
4 Sektorantenne Richtung 1
5 Sektorantenne Richtung 2
6 Richtfunkantenne Rifu 0
7 Richtfunkantenne Rifu 1
8 Richtfunkantenne Rifu 2
9 Richtfunkantenne Richtung 0
10 Richtfunkantenne Richtung 1
11 Richtfunkantenne Richtung 2
12 Richtfunkantenne Bemerkung 0
# I have tried things like
df_in = df.groupby(['Antenna', 'Col']).reset_index()
没有什么适合我,我也没有发现任何类似的问题。我想我问错问题了
非常感谢大家。我终于找到了办法
df['Index'] = df.groupby(['Antenna', 'Col']).cumcount()+1
df["RANK"] = df.groupby(['Antenna', 'Col']).rank(method="first", ascending=True)
df
Antenna Col Index RANK
0 Sektorantenne Sektor 1 1.0
1 Sektorantenne Sektor 2 2.0
2 Sektorantenne Sektor 3 3.0
3 Sektorantenne Richtung 1 1.0
4 Sektorantenne Richtung 2 2.0
5 Sektorantenne Richtung 3 3.0
6 Richtfunkantenne Rifu 1 1.0
7 Richtfunkantenne Rifu 2 2.0
8 Richtfunkantenne Rifu 3 3.0
9 Richtfunkantenne Richtung 1 1.0
10 Richtfunkantenne Richtung 2 2.0
11 Richtfunkantenne Richtung 3 3.0
12 Richtfunkantenne Bemerkung 1 1.0
我终于找到了办法
df['Index'] = df.groupby(['Antenna', 'Col']).cumcount()+1
df["RANK"] = df.groupby(['Antenna', 'Col']).rank(method="first", ascending=True)
df
Antenna Col Index RANK
0 Sektorantenne Sektor 1 1.0
1 Sektorantenne Sektor 2 2.0
2 Sektorantenne Sektor 3 3.0
3 Sektorantenne Richtung 1 1.0
4 Sektorantenne Richtung 2 2.0
5 Sektorantenne Richtung 3 3.0
6 Richtfunkantenne Rifu 1 1.0
7 Richtfunkantenne Rifu 2 2.0
8 Richtfunkantenne Rifu 3 3.0
9 Richtfunkantenne Richtung 1 1.0
10 Richtfunkantenne Richtung 2 2.0
11 Richtfunkantenne Richtung 3 3.0
12 Richtfunkantenne Bemerkung 1 1.0