如何将虚拟数据添加到数据帧的末尾?

时间:2018-10-25 17:31:28

标签: pandas

我有700列数据框。

我想将a添加到最后一行的每一列中,我该怎么做?

col. col2
1.    2
3.    2
a.    a 

3 个答案:

答案 0 :(得分:1)

loc在一起

请注意,我指定了索引值'new_idx'。我没有对您的索引做任何假设。即使您使用len(df),它也可能已经作为索引值存在。我不知道因此,您必须使用新的索引值。如果不是新的,则它将覆盖现有行。

df.loc['new_idx'] = ['a' for _ in range(df.shape[1])]

符合append

这不太严格。如果'new_idx'中已经存在索引值df.index,这将使另一行具有重复的索引值。

df.append(pd.Series('a', df.columns, name='new_idx'))

答案 1 :(得分:1)

在大多数情况下,使用loc(并传递数据帧的长度)是可行的:

df.loc[len(df)] = 'a'

完整示例

import pandas as pd

df = pd.DataFrame({
    'col1': [1, 2],
    'col2': [3, 4]
})

df.loc[len(df)] = 'a'

print(df)

#  col1 col2
#0    1    3
#1    2    4
#2    a    a

小警告:这假设您有一个以0开头的索引。(并且由于索引以0开头,因此len(df)是行中的下一个数字。)

如果索引编号不正确,可能的解决方法:使用df.reset_index(drop=True, inplace=True)

答案 2 :(得分:0)

您可以使用loc方法,如下所示:

#df being the original dataframe
df.loc[len(df)] = [ 'a' for _ in range(df.shape[1])]