“如何处理数据帧列值”;不适用;,Python 3.6

“如何处理数据帧列值”;不适用;,Python 3.6,python,python-3.x,pandas,Python,Python 3.x,Pandas,我已经将包含列“国家”、“商品”、“属性”、“值”的csv文件导入到dataframe。 值为“NA”且数据框视为空白的“国家” 然后我更新它“NA” 然后我在数据中做一些计算,最后将导出整个文件 对于国家“NA”,我将从导出的文件中手动删除“NA” 如何将“NA”导出为NA,我不想手动执行,因为文件包含200万条记录。我认为您需要参数NA\u rep='NA'并删除fillna 样本: df = pd.DataFrame({'A':list('abcdef'),

我已经将包含列“国家”、“商品”、“属性”、“值”的csv文件导入到dataframe。 值为“NA”且数据框视为空白的“国家”

然后我更新它“NA”

然后我在数据中做一些计算,最后将导出整个文件

对于国家“NA”,我将从导出的文件中手动删除“NA”


如何将“NA”导出为NA,我不想手动执行,因为文件包含200万条记录。

我认为您需要参数
NA\u rep='NA'
并删除
fillna

样本:

df = pd.DataFrame({'A':list('abcdef'),
                   'B':[np.nan,5,4,5,5,4],
                   'C':[7,8,np.nan,4,2,3]})

print (df)
   A    B    C
0  a  NaN  7.0
1  b  5.0  8.0
2  c  4.0  NaN
3  d  5.0  4.0
4  e  5.0  2.0
5  f  4.0  3.0

#test output
print (df.to_csv(na_rep='NA'))
,A,B,C
0,a,NA,7.0
1,b,5.0,8.0
2,c,4.0,NA
3,d,5.0,4.0
4,e,5.0,2.0
5,f,4.0,3.0
对于写入文件:

df.to_csv('file', na_rep='NA', index=False)
您也可以使用参数
保留默认值\u na
,但所有数据都是
字符串,而不是浮动

df = pd.read_csv('file', keep_default_na=False)
print (df)
   A    B    C
0  a   NA  7.0
1  b  5.0  8.0
2  c  4.0   NA
3  d  5.0  4.0
4  e  5.0  2.0
5  f  4.0  3.0

print (df.dtypes)
A    object
B    object
C    object
dtype: object
默认情况下,
NA
读作
NaN

df = pd.read_csv('file')
print (df)
   A    B    C
0  a  NaN  7.0
1  b  5.0  8.0
2  c  4.0  NaN
3  d  5.0  4.0
4  e  5.0  2.0
5  f  4.0  3.0

print (df.dtypes)
A     object
B    float64
C    float64
dtype: object

na_rep='na'在导出时正确吗?在pd中导入时是否要传递任何参数。read_csvYes,但默认值
na
将被读取为
NaN
。但如果需要其他字符串,则需要将其设置为。
df = pd.read_csv('file')
print (df)
   A    B    C
0  a  NaN  7.0
1  b  5.0  8.0
2  c  4.0  NaN
3  d  5.0  4.0
4  e  5.0  2.0
5  f  4.0  3.0

print (df.dtypes)
A     object
B    float64
C    float64
dtype: object