首页 > 解决方案 > Pandas read_pickle() 函数返回 NaN 值

问题描述

我正在从 Tweets 中提取特征,然后将其保存在 Pandas DataFrame 中,请参见此处:

for idx, tweet in tweets.iterrows():
    data_frame.loc[idx, 'assertive_verbs_count'], \
    data_frame.loc[idx, 'assertive_verb_tf'], \
    data_frame.loc[idx, 'factive_verbs_count'], \
    data_frame.loc[idx, 'factive_verb_tf'], \
    data_frame.loc[idx, 'implicative_verbs_count'], \
    data_frame.loc[idx, 'implicative_verb_tf'], \
    data_frame.loc[idx, 'report_verbs_count'], \
    data_frame.loc[idx, 'report_verb_tf'] = LF.bias_cues(idx, tweet)

data_frame.to_pickle('features_df' + '.pickle')

所有特征都被正确计算,并且 data_frame 中没有出现 NaN 值。我已经通过打印 data_frame 进行了检查。在此之后,我想使用 pandas read_pickle() 函数加载这个 DataFrame:

data_frame2 = pd.read_pickle('features_df' + '.pickle')

当我现在打印这个“data_frame2”时,它会在某些地方返回 NaN 值。例如,当打印功能“implicative_verb_tf”时,它会返回:

print(data_frame['implicative_verb_tf'].head(10))

0     True
1      NaN
2    False
3      NaN
4     True
5      NaN
6      NaN
7    False
8    False
9      NaN

有谁知道这怎么可能?

标签: pythonpandasdataframepickle

解决方案


推荐阅读