在数据框中删除'NaN'值

时间:2017-06-10 19:58:37

标签: pandas dataframe nan

有没有办法只从数据集中删除'nan'而不删除包含'nan'的整个行或列?我试过下面的代码,但结果不是我想要的那个。

df = pd.read_csv('...csv')
df.stack()

这是csv的一部分

enter image description here

这是在'.stack()'

之后

enter image description here

标题与实际数据混在一起。我不想被混淆!

3 个答案:

答案 0 :(得分:0)

您可以使用:

df.fillna('')

将使用空字符串填充na''。或者你可以随心所欲地填写它。

答案 1 :(得分:0)

使用dropna条件。

nan vlaue不等于自己。

您可以使用

删除列或行

专栏:del df.column_name

行:df.drop([row_index])

答案 2 :(得分:0)

考虑数据框df

df = pd.DataFrame(np.arange(9).reshape(3, 3))
df.iloc[1, 1] = np.nan 
print(df)

   0    1  2
0  0  1.0  2
1  3  NaN  5
2  6  7.0  8

您可以只删除中间单元格,但仅限于stack

df.stack()

0  0    0.0
   1    1.0
   2    2.0
1  0    3.0
   2    5.0
2  0    6.0
   1    7.0
   2    8.0
dtype: float64