绘制Matplotlib时的Nan值

时间:2018-09-11 07:10:33

标签: python pandas numpy matplotlib

嗨,我正在尝试将较大的合并数据集显示为散点图,以查找人均GDP和孩子数量之间的关系。数据框看起来像这样。如何删除带有Nan值的行并绘制散点图?还是我只绘制直线图,它将忽略具有NaN值的所有行?任何帮助将不胜感激:)另外,在计算第二和第三列的平均值时,我是否在另一列上显示结果?

Country | Number of kids | GDP per capita
  A     |      4         |    2345
  B     |      2         |    2156
  C     |     NaN        |    1156
  D     |     5          |    958
  E     |     NaN        |    NaN
  F     |     8          |    NaN
.
.
.
 Z      |     3          |    2 

1 个答案:

答案 0 :(得分:1)

使用熊猫的dropna()函数删除nan,然后使用matplotlib的scatter()图对其进行绘制。

import pandas as pd
import matplotlib.pyplot as plt
enter code here
df = <your dataset>
plot_df = df.dropna()
plt.scatter(plot_df['Number of kids'], plot_df['GDP per capita'])

如果您的数据集非常大,请考虑使用sample函数随机采样数据:

df = df.sample(1000)