我有两个dataframes,如下所示,我试图在dataframe1中基于dataframe2的ITEM/CODE将value设置为CLASSIFICATION。如果DESC与ITEM/CODE有任何匹配的词,那么我必须从dataframe2获取类型
为了实现这一点,我正在拆分DESC字符串,并尝试将列表条目与dataframe2的ITEM/CODE进行比较。有什么办法吗
dataframe1
PN DESC CLASSIFICATION
C23890 Resistor 2.21K elec
C23891 Powerswitch
C23892 Resistor 7.5K
C23893 Resistor .1K
C23894 FET elec
C23895 ELE SD Card adapter
C23896 Crystal 16Mhz
C23897 Capacitor 100uF
C23898 ELECTRONICS Resistor 10K
C23899 M3x5 Socket Cap Bolt MECH
C23900 M3x6 Socket Cap Bolt Mech
C23901 Mehcanical Assemble Kapton Tape 120mm
C23902 MK7 Filament Drive Block Front
C23903 Pulley 5mm shaft
dataframe2
ITEM/CODE TYPE
ELE ELECTRONIC
ELECTRONICS ELECTRONIC
Capacitor ELECTRONIC
Resistor ELECTRONIC
Washer MECHANICAL
MECH MECHANICAL
这是我到目前为止编的代码
import pandas as pd
fn = 'D:\PartsExport.xlsx'
dfInput = pd.read_excel(fn, 'Sheet1')
fn_type = 'D:\TypeMaster.xlsx'
dfType = pd.read_excel(fn_type, 'Sheet1')
dfInput['DESC_SPLIT'] = dfInput["DESC"].str.split(" ", n=-1, expand = False)
Result
PN DESC CLASSIFICATION
C23890 Resistor 2.21K elec ELECTRONIC
C23891 Powerswitch ELECTRONIC
C23892 Resistor 7.5K ELECTRONIC
C23893 Resistor .1K ELECTRONIC
C23899 M3x5 Socket Cap Bolt MECH MECHANICAL
将^{} 与由
dataframe2
创建的序列循环一起使用,flags=re.I
参数用于非大小写匹配:如果只想匹配第一个单词,请使用^{} ,但首先将这两个值转换为小写^{} :
不是那么花哨,但应该做这项工作:
相关问题 更多 >
编程相关推荐