用空python替换NaN

2024-04-28 00:13:47 发布

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

我正在尝试从熊猫数据帧写入AWS红移:

df_tmp_rpt = pd.read_csv('path')
df_tmp_rpt = df_tmp_rpt[df_tmp_rpt['COL'] == 'VALUE']
df_tmp_rpt = df_tmp_rpt.replace(np.nan, null, regex=True)
records = df_tmp_rpt.to_records(index=False)
for record in records:
     script_insert = ScriptReader.get_script(SCRIPT_PATH).format(record)
     RedshiftDataManager.run_update(script_insert, DB_CONNECTION)

Redshift需要插入数据的格式('value1','value2',null)。这就是为什么我尝试在数据帧中将所有NaN替换为null。我怎样才能做到这一点呢?(我需要一个null值,而不是字符串“null”)

提前谢谢你的帮助


Tags: csv数据pathawsdfreadscriptcol
2条回答

Python中没有空值。在AWS红移中,空值是指缺少或未知的值。因此,用空字符串替换NaN可能有效。考虑使用^ {CD1}},而不使用^ {CD2}}。

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html#pandas-dataframe-fillna

这就是我的工作

df_tmp_rpt = df_tmp_rpt.where(df_tmp_rpt.notna(), None)

这将把数据帧中的所有NaN值替换为None。在数据库中,无作为NULL加载。这适用于MS SQL

相关问题 更多 >