当我开始扩展我的数据分析时,我的数据帧中的iterrows出现了性能问题。你知道吗
这是我正在使用的当前循环。你知道吗
for ii, i in a.iterrows():
for ij, j in a.iterrows():
if ii != ij:
if i['DOCNO'][-5:] == j['DOCNO'][4:9]:
if i['RSLTN1'] > j['RSLTN1']:
dl.append(ij)
else:
dl.append(ii)
elif i['DOCNO'][-5:] == j['DOCNO'][-5:]:
if i['RSLTN1'] > j['RSLTN1']:
dl.append(ij)
else:
dl.append(ii)
c = a.drop(a.index[dl])
循环的目的是找到数据帧中不同但已知相等的“DOCNO”值,这些值由字符串中相等但间隔不同的5个字符表示。找到后,我想从关联的“RSLTN1”列中删除较小的数字。此外,我的数据集可能有一个唯一的'DOCNO'的多个条目,我想删除较小的数字'RSLTN1'结果。你知道吗
我成功地运行了这个程序,只需要少量的数据(约1000行),但是当我将其扩展到10倍时,我遇到了性能问题。有什么建议吗?你知道吗
数据集样本
In [107]:a[['DOCNO','RSLTN1']].sample(n=5)
Out[107]:
DOCNO RSLTN1
6815 MP00064958 72386.0
218 MP0059189A 65492.0
8262 MP00066187 96497.0
2999 MP00061663 43677.0
4913 MP00063387 42465.0
这个怎么适合你的需要?你知道吗
结果df:
在此示例中,删除了以下行:
相关问题 更多 >
编程相关推荐