我想向现有数据框添加一个或多个值。我的数据框看起来像:
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
我的代码工作正常,直到插入数据为止。
另一种方法:
现有数据框:
>>> df
A B
0 user1 value
1 user2 value
2 user3 value
3 user4 value
要添加的新用户列表:
x = ['user5', 'user6']
解决方案:通过使用 pandas.DataFrame.append
方法的循环。
for i in x:
df = df.append({'A': i}, ignore_index=True)
print(df)
A B
0 user1 value
1 user2 value
2 user3 value
3 user4 value
4 user5 NaN
5 user6 NaN
我是一名优秀的程序员,十分优秀!