我下面是我尝试执行的串联类型的示例。
df = pd.DataFrame(np.array([1, 2, 3]).reshape((1, 3)), columns = ['col1', 'col2', 'col3'], index = ['a'])
df2 = pd.DataFrame() # already exists elsewhere in code
df2 = df2.append([df, pd.Series(1, name = 'label')])
我希望的结果是:
col1 col2 col3 label
a 1.0 2.0 3.0 1
但我得到的是
col1 col2 col3 0
a 1.0 2.0 3.0 NaN
0 NaN NaN NaN 1.0
我知道我加入了这些错误,但是我似乎无法弄清楚它是如何完成的。有什么建议吗?
这是因为您要添加的系列索引不兼容。原始数据帧具有['a']作为指定索引,并且在系列中未指定索引。如果要添加新列而不指定索引,则以下内容将为您提供所需的内容:
df = pd.DataFrame(np.array([1, 2, 3]).reshape((1, 3)), columns = ['col1', 'col2', 'col3'], index = ['a'])
df2 = pd.DataFrame() # already exists elsewhere in code
df2 = df2.append([df]) # append the desired dataframe
df2['label'] = 1 # add a new column with the value 1 across all rows
print(df2.to_string())
col1 col2 col3 label
a 1 2 3 1