Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果相邻单元格中的条件为真,则更新值_Python_Pandas - Fatal编程技术网

Python 如果相邻单元格中的条件为真,则更新值

Python 如果相邻单元格中的条件为真,则更新值,python,pandas,Python,Pandas,我正在使用Pandas将CSV数据文件读取到数据帧中。数据基本上是一列中的一组维度,下一列是单位 即 然后,我希望搜索数据帧,找到单元与它应该匹配的不匹配的所有位置(即lbs vs kg),然后简单地将其转换为脚本其余部分使用的单元 如何基于一列进行搜索,读取该值,将该值除以/乘以转换因子,然后替换数据帧中的值,这让我很困惑 我无法让它工作: df = pd.read_csv('path/to/Input.csv') data.loc[ data.Units == 'in' ] = x dat

我正在使用Pandas将CSV数据文件读取到数据帧中。数据基本上是一列中的一组维度,下一列是单位

然后,我希望搜索数据帧,找到单元与它应该匹配的不匹配的所有位置(即lbs vs kg),然后简单地将其转换为脚本其余部分使用的单元

如何基于一列进行搜索,读取该值,将该值除以/乘以转换因子,然后替换数据帧中的值,这让我很困惑

我无法让它工作:

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
# 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