在Pandas中,如何在dropna之后重新确定列的dtypes?

时间:2015-06-01 03:18:11

标签: python numpy pandas

我有一个通过df构建的DataFrame read_csv。我想计算一些采样sub_df的统计数据。对于sub_df,我想删除缺少NaN的所有行,并重新检查列的真实类型。

在我的数据中,由于缺少值,我的许多整数列都被读取为float。

1 个答案:

答案 0 :(得分:1)

我想我理解你的问题。我不认为您可以自动执行此操作,但您可以使用astype手动转换列的数据类型:

import pandas as pd
import numpy as np
df = pd.DataFrame([np.nan,2,3],columns = ['value'])
df.dtypes
value    float64
dtype: object

sub_df = df[df.value.notnull()]
sub_df.value = sub_df.value.astype(int)
sub_df.dtypes
value    int32
dtype: object