[英]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.