我正在使用Pandas将CSV数据文件读取到DataFrame中。数据基本上是一列中的一堆维度,下一列是单位。
IE。
<body>
sign in
<h1>Form</h1>
<form th:action="@{/register}" th:object = "${userentity}" method="post">
<div>
<label>name</label>
<input th:field = "*{name}" />
<p th:each="error:${#fields.errors('name')}"
th:text="${error}">Validation error</p>
</div>
<div>
<label>login</label>
<input type="text" th:field = "*{login}" />
<p th:each="error:${#fields.errors('login')}"
th:text="${error}">Validation error</p>
</div>
<div>
<label>password</label>
<input type="password" th:field = "*{password}" />
<p th:each="error:${#fields.errors('password')}"
th:text="${error}">Validation error</p>
</div>
<div>
<label>role</label>
<select th:field = "*{role}">
<option value="ROLE_USER">USER_Role</option>
<option value="ROLE_ADMIN">ADMIN_Role</option>
</select>
</div>
<div>
<p><input type="submit" value = "Sign in" /></p>
</div>
</form>
</body>
然后,我想搜索DataFrame,找到该单位不符合其应有的所有位置(即lbs vs kg),然后将其转换为脚本其余部分使用的单位。
我很困惑如何基于一列进行搜索,读取该值,将该值除以/乘以转换因子,然后替换DataFrame中的值。
我无法使它正常工作
Perameter | measurement | unit
Height | 72 | inches
Length | 20 | mm
有什么想法吗?
答案 0 :(得分:0)
您可以这样做:
# 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