【发布时间】:2020-04-29 15:14:04
【问题描述】:
我有一个带有 MultiIndex 的数据框。这两个级别是“Nr”和“Price”。是否可以在索引级别 1(“价格”)上使用 np.where 来创建新列(“ZZ”)?
如果级别 1(“价格”)等于“x”,则“ZZ”应通过“第一”列乘以 2 来计算。
import pandas as pd
index = pd.MultiIndex.from_product([['s1', 's2','s3'],['x','y']])
df = pd.DataFrame([1,2,3,4,5,6],index, columns=['first'] )
df.index.names = ['Nr', 'Price']
df
我试过了:
df['ZZ'] = np.where(df['Price']=='x',df['0']*2,np.nan)
我得到:
谢谢!
【问题讨论】:
标签: pandas indexing multi-index