我有该国家的贸易数据,列名称如下
Index(['TNVED', 'Product_Name', 'Export_Value', 'Import_Value', 'Year',
'Country', 'Region', 'Total_Export_XLS', 'Total_Import_XLS',
'Export_Sum', 'Import_Sum', 'Type', 'Nonraw_Type'],
现在,如果raw_materials列表中的字符串与df ['TNVED']中的字符串相同,我将尝试用'Raw'填充'Type'列。数据框如下:
TNVED Product_Name ... Type Nonraw_Type
010190 Лошади, ослы, мулы и лошаки живые прочие ...
010210 Чистопородный племенной крупный рогатый скот ж... ...
010511 Куры домашние (callus domesticus) живые массой... ...
010639 Прочие хищные птицы ...
010690 Прочие животные живые ...
020110 Мясо крупного рогатого скота, свежее или охлаж... ...
020322 Свиные окорока, лопатки и отруба из них, необв... ...
020713 Части тушек и субпродукты домашних кур, свежие... ...
020714 Части тушек и субпродукты домашних кур, мороженые ...
021099 Прочие: мясо и пищевые мясные субпродукты : вк... ...
030351 Рыба мороженная,за искл.рыбн.филе и прочего мя... ...
030379 Прочая рыба за исключением печени, икры и моло... ...
030530 Рыбное филе, сушеное, соленое или в рассоле, н... ...
030559 Прочая рыба сушеная, несоленая, или соленая, н... ...
030749 Прочие каракатицы и кальмары ...
040221 Молоко и сливки сгущенные с содержанием жира б... ...
040221 Молоко и сливки сгущенные с содержанием жира б... ...
040299 Прочее молоко и сливки сгущенные с добавлением... ...
040299 Прочее молоко и сливки сгущенные с добавлением... ...
040510 Сливочное масло ...
040520 Молочные пасты ...
040630 Плавленные сыры, нетертые и не в порошке ...
040690 Прочие сыры ...
050400 Кишки, пузыри и желудки животных (кроме рыбьих... ...
050800 Кораллы и аналог.мат-лы,необработ.или первич.о... ...
051110 Сперма бычья ...
070320 Чеснок свежий или охлажденный ...
071010 Картофель сырой или вареный в воде или на пару... ...
071022 Фасоль (vigna spp., pнaseolus spp.), в стручка... ...
071029 Прочие бобовые овощи в стручках или очищенные,... ...
[30 rows x 13 columns]
并列出
raw_materials = [010190, 071029, 04, 05, etc] #strings
TNVED列包含str值。 我想如果字符串值等于列表中的字符串值,则“类型”列应采用“原始”,否则必须为空。此外,如您所见,列表包含两个值,其中字符串的长度为2,在这种情况下,必须更改所有以这些字符串开头的字符串值。最后,根据给定的数据帧,我期望:
TNVED Product_Name ... Type Nonraw_Type
010190 Лошади, ослы, мулы и лошаки живые прочие ... Raw
010210 Чистопородный племенной крупный рогатый скот ж... ...
010511 Куры домашние (callus domesticus) живые массой... ...
010639 Прочие хищные птицы ...
010690 Прочие животные живые ...
020110 Мясо крупного рогатого скота, свежее или охлаж... ...
020322 Свиные окорока, лопатки и отруба из них, необв... ...
020713 Части тушек и субпродукты домашних кур, свежие... ...
020714 Части тушек и субпродукты домашних кур, мороженые ...
021099 Прочие: мясо и пищевые мясные субпродукты : вк... ...
030351 Рыба мороженная,за искл.рыбн.филе и прочего мя... ...
030379 Прочая рыба за исключением печени, икры и моло... ...
030530 Рыбное филе, сушеное, соленое или в рассоле, н... ...
030559 Прочая рыба сушеная, несоленая, или соленая, н... ...
030749 Прочие каракатицы и кальмары ...
040221 Молоко и сливки сгущенные с содержанием жира б... ... Raw
040221 Молоко и сливки сгущенные с содержанием жира б... ... Raw
040299 Прочее молоко и сливки сгущенные с добавлением... ... Raw
040299 Прочее молоко и сливки сгущенные с добавлением... ... Raw
040510 Сливочное масло ... Raw
040520 Молочные пасты ... Raw
040630 Плавленные сыры, нетертые и не в порошке ... Raw
040690 Прочие сыры ... Raw
050400 Кишки, пузыри и желудки животных (кроме рыбьих... ... Raw
050800 Кораллы и аналог.мат-лы,необработ.или первич.о... ... Raw
051110 Сперма бычья ... Raw
070320 Чеснок свежий или охлажденный ...
071010 Картофель сырой или вареный в воде или на пару... ...
071022 Фасоль (vigna spp., pнaseolus spp.), в стручка... ...
071029 Прочие бобовые овощи в стручках или очищенные,... ... Raw
我尝试过
lens = len(raw_materials)-1
while(0<=lens):
str_len = len(raw_materials[lens])
print(str_len)
df['Type'] = np.where(df['TNVED'] == raw_materials[lens], 'Raw', '')
lens -= 1`
答案 0 :(得分:0)
使用Series.str.contains
和正则表达式模式创建布尔掩码,然后使用此掩码替换Type
列中的值:
pattern = r'^(?:' + '|'.join(raw_materials) + ')'
m = df['TNVED'].str.contains(pattern)
df.loc[m, 'Type'] = 'Raw'
您可以测试正则表达式模式here
。