【发布时间】:2021-09-11 23:12:16
【问题描述】:
我是 python 新手,在将 CSV 文件中低于某个阈值的值更改为 NaN 时遇到问题。
我在一个数据集上运行良好的脚本,但在另一个数据集上运行良好。这些数据集的主要区别在于 CSV 文件的尺寸:1800 行 x 13 列与 1800 行 x 28 列。这些列包含从视频分析得出的不同身体部位的 x、y 位置和似然值。
这是我用来检查 CSV 文件中的值是否更改为 NaN 的代码。
import pandas as pd
import numpy as np
absolute_path = 'mypath/example.csv'
p_cutoff = 0.9
df = pd.read_csv(absolute_path, header=[1,2], index_col=0)
print(df.head)
print('before: ')
print(df.isna().sum())
for i, row in df.iterrows():
if df.loc[i]['arm_L']['likelihood'] < p_cutoff:
df.loc[i]['arm_L']['x'] = np.nan
df.loc[i]['arm_L']['y'] = np.nan
print('')
print('after: ')
print(df.isna().sum())
print(df.head)
当数据框有 13 列时,将 x 和 y 坐标更改为 nan 有效,但是当我在只有一个额外列(即更多身体部位)的数据框上尝试它时,x-y 值不是换了。
有人知道怎么解决吗?
【问题讨论】: