我有一个多索引数据帧:
colname ... TemporaryFix
ID1 ID2 ID3
a NA 1 New Sector ...
b NA 20 Market Sector ...
c NA 5 Market Sector ...
d NA 5 Other Sector ...
e a27 55 Market Sector ...
我有一个列名和相应的索引列表
cname = 'Market Sector'
lindex = [('b', NA, 20), ('d', NA, 5)
我想在“TemporaryFix”列中输入“yes”,其中索引位于列表中,colname等于cname
Desired output:
colname ... TemporaryFix
ID1 ID2 ID3
a NA 1 New Sector ...
b NA 20 Market Sector ... yes
c NA 5 Market Sector ...
d NA 5 Other Sector ...
e a27 55 Market Sector ...
编写了以下内容(在Python Pandas: check if items from list is in df index中调整解决方案):
df['TemporaryFix'] = np.where((df[(df.index.isin(lindex)) & (df['colname'] == cname)]),'yes','')
它不起作用。我的代码有错误吗?还是因为它是一个mulitindex df?有什么建议吗?谢谢
尝试:
通过布尔掩蔽和
.loc
访问器或
通过
np.where()
:相关问题 更多 >
编程相关推荐