如何添加值​通过列名和不带循环的索引列表添加到 Dataframe 的列

6l7fqoea  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(163)

我需要像这样的东西:

df.loc[list_of_indexes, column] = True

添加到df(不是df的副本) columnTrue 如果索引在 list_of_indexes .
很抱歉,可能是个简单的问题,但我找不到解决办法。
编辑
这对我很有用:

df[column] = np.where(df.index.isin(list_of_indexes), True, None)
ddhy6vgd

ddhy6vgd1#

df[column] = np.where(df.index.isin(list_of_indexes), True, None)

你可以用 numpy.where 为了这个。
例子:

In [41]: df = pd.DataFrame(['A', 'B', 'C', 'D'])

In [42]: df
Out[42]: 
   0
0  A
1  B
2  C
3  D

In [43]: df['new'] = np.where(df.index.isin([1, 2]), True, None)

In [44]: df
Out[44]: 
   0   new
0  A  None
1  B  True
2  C  True
3  D  None
sg3maiej

sg3maiej2#

您可以将列表理解与 if else 其中的声明:

df['list_of_indexes'] = [True if i in list_of_indexes else None for i in df.index]

相关问题