在Python中创建数据帧后在转换器字典中应用转换

2024-09-20 22:57:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下行,它读取CSV并创建一个数据帧,按预期应用我的自定义转换器:

csv_file_raw = read_csv(f'{directory}\{filename}', converters=converters)

但是,我希望删除数据框中的所有空行,在创建数据框后,我已使用以下行完成此操作:

csv_file = csv_file_raw.dropna(how="all")

我现在的问题是,转换器已将一些值解析为空字符串,dropna函数不会将其解释为“N/A”值

如果不包含在^ {CD2>}函数中的转换(如:

),则删除空白行。
csv_file_raw = read_csv(f'{directory}\{filename}')
csv_file = csv_file_raw.dropna(how="all")

现在我已经删除了空行,是否有一种简单的方法可以将转换器字典应用于数据帧,或者只有在最初从CSV读取数据帧时才能实现


1条回答
网友
1楼 · 发布于 2024-09-20 22:57:29

np.NaN替换所有空字符串,然后使用dropna

csv_file_raw = read_csv(f'{directory}\{filename}', converters=converters)
csv_file = df.replace(r'^\s*$', np.NaN, regex=True).dropna(how="all")

范例

df = pd.DataFrame({'c1': ["1", "", np.NaN], 'c2': ["1", "", "2"]})
print (df)
df = df.replace(r'^\s*$', np.NaN, regex=True).dropna(how="all")
print (df)

输出:

    c1 c2
0    1  1
1        
2  NaN  2

    c1 c2
0    1  1
2  NaN  2

相关问题 更多 >

    热门问题