GVKun编程网logo

Python-如何检查NaN值?(python怎么检查)

20

如果您对Python-如何检查NaN值?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于Python-如何检查NaN值?的详细内容,我们还将为您解答python怎么检查的相关

如果您对Python-如何检查NaN值?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于Python-如何检查NaN值?的详细内容,我们还将为您解答python怎么检查的相关问题,并且为您提供关于python FTP 如何检查路径、Python Pandas使用NaN值写入sql、python pandas直方图包括NaN值、python – 如何用pandas中的滚动平均值填充nan值的有价值信息。

本文目录一览:

Python-如何检查NaN值?(python怎么检查)

Python-如何检查NaN值?(python怎么检查)

float(‘nan’)结果为Nan(不是数字)。但是,如何检查呢?应该很容易,但是我找不到。

答案1

小编典典

math.isnan(x)

返回True如果xNaN(非数字),以及False其他。

>>> import math>>> x = float(''nan'')>>> math.isnan(x)True

python FTP 如何检查路径

python FTP 如何检查路径

如何实现检查FTP上的目录,如果目录不存在 则建立

使用的了一下 mkd命令,可以实现建立, 但是无法判断目录是否存在,

 

Python Pandas使用NaN值写入sql

Python Pandas使用NaN值写入sql

我正在尝试从ascii读取几百张表,然后将它们写入mySQL。使用Pandas似乎很容易,但是我遇到了一个对我来说没有意义的错误:

我有一个8列的数据框。这是列列表/索引:

metricDF.columnsIndex([u''FID'', u''TYPE'', u''CO'', u''CITY'', u''LINENO'', u''SUBLINE'', u''VALUE_010'', u''VALUE2_015''], dtype=object)

然后to_sql,我使用追加数据到mySQL

metricDF.to_sql(con=con, name=seqFile, if_exists=''append'', flavor=''mysql'')

我收到关于列为“ nan”的奇怪错误:

OperationalError: (1054, "Unknown column ''nan'' in ''field list''")

如您所见,我所有的列都有名称。我意识到mysql / sql对编写的支持出现在开发中,所以也许这是原因?如果是这样,是否可以解决?任何建议将不胜感激。

答案1

小编典典

更新 :从pandas
0.15开始,to_sql支持写入NaN值(它们将NULL在数据库中写入),因此不再需要下面描述的解决方法(请参阅https://github.com/pydata/pandas/pull/8208)。
熊猫0.15将于10月发布,并且该功能已合并到开发版本中。


这可能是由于NaN你的表值,这是目前该大熊猫SQL函数不处理的NaN以及一个已知的缺点(https://github.com/pydata/pandas/issues/2754,HTTPS:/
/github.com/pydata/pandas/issues/4199)

作为目前的一种解决方法(对于0.14.1及更低版本的熊猫),您可以使用以下方法将nan值手动转换为None:

df2 = df.astype(object).where(pd.notnull(df), None)

然后将数据帧写入sql。但是,这会将所有列转换为对象dtype。因此,您必须基于原始数据框创建数据库表。例如,如果您的第一行不包含NaNs:

df[:1].to_sql(''table_name'', con)df2[1:].to_sql(''table_name'', con, if_exists=''append'')

python pandas直方图包括NaN值

python pandas直方图包括NaN值

我想绘制一些数据的直方图.抱歉我无法附上样本直方图,因为我没有足够的声誉.希望您对我所面临的问题的描述能够得到理解.我正在使用python pandas,我意识到任何NaN值都被pandas视为0.有没有什么方法可以用来在直方图中包含Nan值的计数?我的意思是x轴也应该具有NaN值.请帮忙……非常感谢.

最佳答案
我在寻找同样的事情.我最终得到了以下解决方案:

figure = plt.figure(figsize=(6,9),dpi=100);    
graph = figure.add_subplot(111);

freq = pandas.value_counts(data)
bins = freq.index
x=graph.bar(bins,freq.values) #gives the graph without NaN

graphmissing = figure.add_subplot(111)
y = graphmissing.bar([0],freq[numpy.NaN]) #gives a bar for the number of missing values at x=0

figure.show()

这给了我一个柱子为0的直方图,显示了数据中缺失值的数量.

python – 如何用pandas中的滚动平均值填充nan值

python – 如何用pandas中的滚动平均值填充nan值

我有一个数据框,在几个地方包含nan值.我正在尝试执行数据清理,其中我用之前的五个实例的平均值填充nan值.为此,我提出了以下建议.

input_data_frame[var_list].fillna(input_data_frame[var_list].rolling(5).mean(),inplace=True)

但是,这不起作用.它没有填补纳米值.在上述操作之前和之后,数据帧的空计数没有变化.假设我有一个只有整数列的数据帧,如何用前五个实例的平均值填充NaN值?提前致谢.

最佳答案
这应该工作:

input_data_frame[var_list]= input_data_frame[var_list].fillna(pd.rolling_mean(input_data_frame[var_list],6,min_periods=1))

请注意,窗口为6,因为它包含NaN本身的值(不计入平均值).此外,其他NaN值不用于平均值,因此如果在窗口中找到的值少于5个,则根据实际值计算平均值.

例:

df = {'a': [1,1,2,3,4,5,np.nan,np.nan] }
df = pd.DataFrame(data=df)
print df

      a
0   1.0
1   1.0
2   2.0
3   3.0
4   4.0
5   5.0
6   NaN
7   1.0
8   1.0
9   2.0
10  3.0
11  4.0
12  5.0
13  NaN

输出:

      a
0   1.0
1   1.0
2   2.0
3   3.0
4   4.0
5   5.0
6   3.0
7   1.0
8   1.0
9   2.0
10  3.0
11  4.0
12  5.0
13  3.0

关于Python-如何检查NaN值?python怎么检查的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于python FTP 如何检查路径、Python Pandas使用NaN值写入sql、python pandas直方图包括NaN值、python – 如何用pandas中的滚动平均值填充nan值的相关信息,请在本站寻找。

本文标签: