“如何处理数据帧列值”;不适用;,Python 3.6
我已经将包含列“国家”、“商品”、“属性”、“值”的csv文件导入到dataframe。 值为“NA”且数据框视为空白的“国家” 然后我更新它“NA” 然后我在数据中做一些计算,最后将导出整个文件 对于国家“NA”,我将从导出的文件中手动删除“NA”“如何处理数据帧列值”;不适用;,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'),
如何将“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