这是示例代码。
import pandas as pd, numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(10, 1)), columns=list('A'))
我有一个列表 dl=[0,2,3,4,7]
在列表指定的索引位置,我希望A列为"is"。
下面的代码有效
df.loc[dl,'A']='Yes'
对于不在索引中的列值,如何用“否”填充列“A”。 如果这是重复的帖子,请原谅我。
请您参考如下方法:
np.where
我假设有更好的方法可以同时执行 'Yes' 和 'No'。如果您真的只想在得到'Yes' 后填写'No',请参阅Fatemehhh的回答
df.loc[:, 'A'] = np.where(df.index.isin(dl), 'Yes', 'No')
实验部分
不代表实际建议
f = dl.__contains__
g = ['No', 'Yes'].__getitem__
df.loc[:, 'A'] = [*map(g, map(f, df.index))]
df
A
0 Yes
1 No
2 Yes
3 Yes
4 Yes
5 No
6 No
7 Yes
8 No
9 No
