Pandas数据框显示值为'NaN'

时间:2016-10-16 13:14:17

标签: python-2.7 pandas

我尝试在数据框上添加列,如下所示;

after I checked it, tried to add columns

but all contents changed into 'NaN's. how can I solve it?

1 个答案:

答案 0 :(得分:0)

代码的第一行是:

f = pd.read_csv("tbsm_trdar_ncm_cnsmp.csv")

变量' f'已经是一个等于你的' df1'的DataFrame,所以你不需要写第二行:

df1 = pd.DataFrame(f)

如果你这样做:

df1 = pd.DataFrame(f, columns=[...])

实际上,它试图从f创建一个新的DataFrame。它尝试将提供的列名从f复制到新的df1。在这种情况下,没有名为' TRDAR_CD' TRDAR_CN_NM'等等的列。因此df1显示NaN。

如果您只想重命名DataFrame列,可以执行以下操作:

f = pd.read_csv(
        "tbsm_trdar_ncm_cnsmp.csv", 
        header=None, names=['TRDAR_CD', 'TRDAR_CN_NM', ...])

f = pd.read_csv("tbsm_trdar_ncm_cnsmp.csv", header=None)
f.columns = ['TRDAR_CD', 'TRDAR_CN_NM', ...]

我添加了参数' header = None'在.read_csv函数中,因为您的csv文件似乎不包含标题。