[英]deleting loops to increase efficiency in python
我如何使這更有效? 我覺得我應該能夠做到這一點,而無需遍歷整個 dataframe。 基本上我必須根據列SSampleCode
中的值將列CollectType
拆分為多個列。
for i in range(0,len(df)):
if df.SSampleCode[i]=='Rock':
df.R_SampleType[i]=df.CollectType[i]
elif df.SSampleCode[i]=='Soil':
df.S_SampleType[i]=df.CollectType[i]
elif df.SSampleCode[i]=='Pan Con':
df.PC_SampleType[i]=df.CollectType[i]
elif df.SSampleCode[i]=='Silt':
df.SS_SampleType[i]=df.CollectType[i]
這可以使用掩碼(矢量方法)來完成:
for i in range(0,len(df)):
if df.SSampleCode[i]=='Rock':
df.R_SampleType[i]=df.CollectType[i]
將會
mask = df.SSampleCode=='Rock'
df.R_SampleType[mask] = df.CollectType[mask]
這會給你一個很好的性能改進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.