问题描述
我试图附加文件,如果列中的值为 NaN,则应将其附加为 0.0。我试过了 -
import pandas
import numpy as np
from pathlib import Path
inp_dir = Path(r'C:/Users/bc/Desktop/Folder')
files_with_empty_cells = []
for file in inp_dir.glob('*.csv'):
df=pd.read_csv(file,sep=',',quotechar='|')
df['confidence']=df['confidence'].replace(np.nan,0.0)
这确实使特定单元格变为 0.0。但仅适用于一个 csv 文件。我希望它在该特定列中有 nan 值的地方附加所有 csv。
所以你可以看到成绩单最后一行的置信度是 NaN。有多个文件存在此问题,我只希望我的脚本遍历我目录中的所有文件,并在置信列下的每个 csv 中附加空白(NaN)单元格为 0.0。
解决方法
您可能需要在执行 df
函数后对 replace
做一些事情。
例如
for file in inp_dir.glob('*.csv'):
df = pd.read_csv(file,sep=',',quotechar='|')
df['confidence'] = df['confidence'].replace(np.nan,0.0)
df.to_csv(file,index=False) # overwrites the existing file
,
让我们试试
inp_dir = Path(r'C:/Users/bc/Desktop/Folder')
files_with_empty_cells = []
for file in inp_dir.glob('*.csv'):
pd.read_csv(file,quotechar='|').replace({'confidence ':{np.nan: 0.0}}).to_csv(file)