python - 如何将列表中的值插入现有列

标签 python pandas numpy 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

我的代码工作正常,直到插入数据为止。

最佳答案

另一种方法:

现有数据框:

>>> 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

关于python - 如何将列表中的值插入现有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54033682/

相关文章:

python - 当项目集等于 fill_value 时自动屏蔽 np.ma 数组

python - 为什么 P4Python 无法识别 P4CONFIG 设置?

python - 关于 python 日志记录中的 NOTSET

python - 使用 asyncio 的多个循环

python - 有没有办法使用机器学习从契约(Contract)中提取信息,并将契约(Contract)文件和目标字符串作为输入和输出?

python - 从 .apply() 更改为使用列表理解将一个数据框与一列列表与另一个数据框中的值进行比较的函数

python - 如何检查一个字符串是否在 pandas DataFrame 中的较长字符串中?

python - 有没有办法在 PySpark 中为 pandas_udf 设置最小批量大小?

python - Numpy 3D 数组排列和 reshape

python - Numpy 数组随机变异