[英]Update value if a condition in the adjacent cell is true
我正在使用Pandas將CSV數據文件讀入DataFrame。 數據基本上是一列中的一堆維度,下一列是單位。
IE瀏覽器
Perameter | measurement | unit
Height | 72 | inches
Length | 20 | mm
然后,我想搜索DataFrame,找到該單位不符合其應有的所有位置(即lbs vs kg),然后將其轉換為腳本其余部分使用的單位。
我很困惑如何基於一列進行搜索,讀取該值,將該值除以/乘以轉換因子,然后替換DataFrame中的值。
我無法使它正常工作:
df = pd.read_csv('path/to/Input.csv')
data.loc[ data.Units == 'in' ] = x
data[measurement][x] = ((data[measurement][x])/25.4) # convert to mm.
有任何想法嗎?
你可以這樣做:
# Multiply the measurement by 25.4 where unit is inches
df.loc[df.unit == 'inches', 'measurement'] *= 25.4
# Replace `inches` with `mm` in unit column after it's been converted
df['unit'].replace('inches', 'mm', inplace=True)
>>> df
Perameter measurement unit
0 Height 1828.8 mm
1 Length 20.0 mm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.