1
我有這樣一個數據幀添加新類別列,與10M行:如何在大熊貓
probe
time
2016-01-01 00:05:00 3
2016-01-01 00:05:00 1
2016-01-01 00:05:00 5
2016-01-01 00:05:00 5
2016-01-01 00:05:00 4
2016-01-01 00:05:00 2
2016-01-01 00:05:00 5
2016-01-01 00:05:00 6
2016-01-01 00:05:00 3
2016-01-01 00:05:00 4
2016-01-01 00:05:00 5
2016-01-01 00:05:00 2
2016-01-01 00:05:00 3
2016-01-01 00:05:00 3
2016-01-01 00:05:00 5
Name: probe, dtype: uint8
我想基礎上,probe
def categorize_R(x):
return "inner" if x['probe'] in (1, 4) else "outer"
data['category_R'] = pandas.Categorical(data.apply(categorize_R, axis=1))
這個值加categoricat列非常緩慢。實際計算面具是這樣的:
mask_inner = (x['probe'] == 1) | (x['probe'] == 4)
是相當快的,但我不知道如何添加類型分類的列。
我們很近。關鍵是我需要做更復雜的事情,比如'(x [probe] == 1)| (x [probe] == 3)| (x [probe] == 4)' –
此外:避免使用字符串創建中間序列並直接創建類別爲 –
的''numpy.where'非常快速並且輸出爲numpy數組,你也可以根據需要更換面具 - 檢查最後的編輯。 – jezrael