我想向现有 Dataframe 添加一个或多个值。我的 Dataframe 如下所示:
A B
0 user1 value
1 user2 value
2 user3 value
3 user4 value
我有一个列表,有时会有1个或多个用户。
x = ['user5', 'user6']
因此,我想简单地将列表中的其他用户添加到列A中。如果列表中只有一个或多个值,这将需要工作,因为这是通过循环运行的。
从列表中添加到A列的用户不会为B列提供任何值。B列的值将仅为Nan
A B
0 user1 value
1 user2 value
2 user3 value
3 user4 value
4 user5 nan
5 user6 nan
当我执行下面的代码时,我没有看到Dataframe大小增加。
for x,n in zip(u,grps):
# Filter Dataframe based on X and create new Dataframe
df=raw.df[raw.df[raw.df.header['User']].isin(x)]
#Create List of difference between new Dataframe and List X
xList=(list(set(x)-set(df['User'])))
# Add xList of Users to df Column
df.loc[len(df)]=xList
我的代码工作正常,直到插入数据为止。
4条答案
按热度按时间nuypyhwy1#
只是另一种方法:
现有数据框:
要添加的新用户列表:
溶液:只需通过
pandas.DataFrame.append
方法的循环。h7wcgrx32#
创建新的数据框和原始数据框的
append
或concat
:setting with enlargement
的另一种解决方案:ffvjumwh3#
您可以使用新数据创建一个新 Dataframe ,并将其附加到现有 Dataframe 中:
pd.concat
同样适用于:ztmd8pv54#
如果系列
A
表示唯一标识符,请考虑将其作为索引。然后可以使用pd.Index.difference
和pd.DataFrame.reindex
方法:如果要将索引再次提升为系列,可以
reset_index
: