import pandas as pd
import numpy as np
np.random.seed(100)
index = np.random.choice('A B C D E F G'.split(), 10)
pv = pd.DataFrame(np.random.randn(10), index=index, columns=['value'])
Out[60]:
value
A -0.2347
A -1.4397
D 0.4328
A 2.3045
C -0.1226
G 0.0155
E 0.2660
C -0.1138
F 1.0111
C -1.4408
# reset_index first to preserve the line number
pv.reset_index(inplace=True)
Out[128]:
index value
0 A -0.2347
1 A -1.4397
2 D 0.4328
3 A 2.3045
4 C -0.1226
5 G 0.0155
6 E 0.2660
7 C -0.1138
8 F 1.0111
9 C -1.4408
# replace your groupby index level
pv.sort_index().groupby('index').filter(lambda group: len(group) == 1)
Out[129]:
index value
2 D 0.4328
5 G 0.0155
6 E 0.2660
8 F 1.0111
但我需要原始數據幀中的行號,而不是新的過濾數據幀。 (然後我會在Excel中修飾這些行) – Winand
剛剛修改(添加'reset_index'步驟)以保留行號。 –
謝謝! 'pv.reset_index()。groupby(「Код」)。filter(lambda g:len(g)== 1).index.values'返回numpy數組 – Winand