我正在处理一个包含 5 列数据的熊猫数据框。我需要在每列上添加过滤器以执行某些计算。
for mfilter in raw_df['Column1'].unique():
m_filter=raw_df[raw_df['Column1']==mfilter]
for rfilter in m_filter['Column2'].unique():
r_filter=m_filter[m_filter['Column2']==rfilter]
for cfilter in r_filter['Column3'].unique():
c_filter=r_filter[r_filter['Column3']==cfilter]
for cafilter in c_filter['Column4'].unique():
ca_filter=c_filter[c_filter['Column4']==ca_filter]
for part in ca_filter['part_no'].unique():
part_df=ca_filter[(category_filter['part_no']==part)]
我还有另一列“值”,在进入“部分”for 循环后,我将对其执行一些计算。
由于数据非常大,完整执行需要大约 7-8 小时(每个部分大约 1 秒)的时间。有没有更好的方法来减少所花费的时间并提高时间效率?
这是一些示例数据:
Column1 Column2 Column3 part_no Values
A J X 1 1
A K Y 2 2
B K X 3 3
C L Y 4 4
C L X 5 5
D J X 6 6
D J X 6 7
D J X 6 8
C L Y 4 9
C L Y 4 10
C L Y 4 11
在数据集中,如果我们观察到,Values 列的每个部分(每个类别)都有特定的值。在获取每个零件数据时,我必须借助该 part_data 的值执行某些计算。我将把这个 part_df 推到另一个函数,其余的任务发生在这个函数中。
慕的地8271018
相关分类