pandas迭代读mysql_将Pandas Dataframe NaNs迭代并写入MySQL

本文探讨了如何使用Pandas迭代dataframe的行,特别是针对包含NaN值的情况。建议使用`iterrows()`方法遍历数据,并通过`isnull()`检查缺失值,以决定是跳过还是更新数据到MySQL数据库。示例代码展示了如何构造和执行SQL查询以更新数据。
摘要由CSDN通过智能技术生成

我没有一个完整的答案,但也许我有一些建议可以帮助你。我相信您认为您的dataframe是一个类似于SQL记录集的对象。在for i in dataframe

这将迭代dataframe中的列名字符串。i将采用列名,而不是行。在

^{pr2}$

这将返回整列(pandas.Series,它是numpy.ndarray),而不是单个值。因此:dataframe['yhat'].__str__()

将给出整个列的字符串表示形式,这对人类阅读很有用。它当然不是一个可以转换为字符串的查询值。在if cleandf['yhat']>(-1000)

这会产生一个错误,因为cleandf['yhat']是一个完整的值数组,而不仅仅是一个值。把它看作一个完整的列,而不是一行中的值。在if cleandf['yhat'][i]>(-1000):

这一点越来越接近,但您确实希望i在这里是一个整数,而不是另一个列名。在for i in dataframe.iterrows():

if cleandf['yhat'][i]>(-1000):

使用iterrows似乎是对的。但是,i接受每一行的值,而不是可以索引到列中的整数(cleandf['yhat']是一个完整的列)。在

另外,请注意熊猫有更好的方法来检查丢失的值,而不是依赖一个巨大的负数。试试这样的方法:non_missing_index = pandas.isnull(dataframe['yhat'])

cleandf = dataframe[non_missing_index]

for row in cl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值