我正在尝试从文件中清除数据。我已经做了部分清理,数据看起来像这样。
该Price
列仍需要清理并更新为其他列。这就是我想做的
Str '80 per piece' =>
80 -> 'Price' column
'piece' -> 'Unit' column
Str '110 per pack' =>
110 -> 'Price' column
'pack' -> 'Unit' column
我创建了一个掩码来检索所需的行,然后使用正则表达式提取非数字。我发现它影响所有行。当我尝试仅使用通过掩码检索的行时,出现错误。
如何确保仅条件检索行中的列受到影响?
这是我的代码-错误的输出,没有在两侧都使用遮罩。
但是,如果我使用口罩尝试此操作-我会收到此错误
您可以extract
使用IIUC与命名组,然后update
:
df = pd.DataFrame({"Unit":["gm", np.NaN, np.NaN],
"Price":["40","80 per piece", "110 per pack"]})
Unit Price
0 gm 40
1 NaN 80 per piece
2 NaN 110 per pack
s = df.loc[df["Unit"].isnull(),"Price"].str.extract("(?P<Price>\d+)\sper\s(?P<Unit>[A-Za-z]+)").dropna()
df.update(s)
print (df)
Unit Price
0 gm 40
1 piece 80
2 pack 110
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句