Gis*_*ist 6 python numpy dataframe pandas
我想向现有数据框添加一个或多个值。我的数据框看起来像:
A B
0 user1 value
1 user2 value
2 user3 value
3 user4 value
Run Code Online (Sandbox Code Playgroud)
我的列表有时会有 1 个或多个用户。
x = ['user5', 'user6']
Run Code Online (Sandbox Code Playgroud)
因此,我想简单地将列表中的其他用户添加到 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
Run Code Online (Sandbox Code Playgroud)
当我执行下面的代码时,我没有看到数据帧大小增加。
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
Run Code Online (Sandbox Code Playgroud)
我的代码工作正常,直到插入数据为止。
您可以使用新数据创建一个新数据框并将其附加到现有数据框:
new = pd.DataFrame(columns=df.columns)
new['A'] = xList
df = df.append(new, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
pd.concat
也有效:
df = pd.concat([df, new], ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8305 次 |
最近记录: |