如何遍历我的目录以附加具有 NaN 值的文件?

问题描述

我试图附加文件,如果列中的值为 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。

我的 df 看起来像-

enter image description here

所以你可以看到成绩单最后一行的置信度是 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)