如何从 dataframe.loc 操作中加速列表追加
How to speed up list appending from dataframe.loc operation
我正在尝试获取每个唯一组件名称首次出现的索引,然后将索引附加到列表中。
我有大约 20k 行的数据框。
mylist=[]
for i in df['name']:
mylist.append(df.loc[df.name==i].index[0])
mylist=set(mylist)
如何加快上述过程?从数据帧追加到列表大约需要一分钟。
没有数据示例无法测试,但这里是:
df.reset_index().groupby('name').first()['index'].to_list()
一个最小的可复制示例如下所示:
pd.DataFrame({'name': ['ABBA', 'LZ', 'LZ', 'LZ', 'IronMaiden', 'PinkFloyd', 'LZ', 'PinkFloyd']})
数据帧:
name
0 ABBA
1 LZ
2 LZ
3 LZ
4 IronMaiden
5 PinkFloyd
6 LZ
7 PinkFloyd
期望的结果:
[0, 1, 4, 5]
我正在尝试获取每个唯一组件名称首次出现的索引,然后将索引附加到列表中。
我有大约 20k 行的数据框。
mylist=[]
for i in df['name']:
mylist.append(df.loc[df.name==i].index[0])
mylist=set(mylist)
如何加快上述过程?从数据帧追加到列表大约需要一分钟。
没有数据示例无法测试,但这里是:
df.reset_index().groupby('name').first()['index'].to_list()
一个最小的可复制示例如下所示:
pd.DataFrame({'name': ['ABBA', 'LZ', 'LZ', 'LZ', 'IronMaiden', 'PinkFloyd', 'LZ', 'PinkFloyd']})
数据帧:
name
0 ABBA
1 LZ
2 LZ
3 LZ
4 IronMaiden
5 PinkFloyd
6 LZ
7 PinkFloyd
期望的结果:
[0, 1, 4, 5]