如何在 Pandas MultiIndex Dataframes 中获取和设置单个值
How to get and set single values in Pandas MultiIndex Dataframes
我定义了一个 MultiIndex Dataframe 如下:
columns = pd.MultiIndex.from_product(
[assets, ['A', 'B', 'C']],
names=['asset', 'var']
)
res = pd.DataFrame(0, index=data.index, columns=columns)
但是,我没有成功设置或更新此 Dataframe
的 单个 值。有什么建议吗?或者我应该转向使用 numpy
数组 - 因为效率?
将 DataFrame.loc
与元组一起用于 select MultiIndex 列并设置新值,如:
assets = ['X','Y']
columns = pd.MultiIndex.from_product(
[assets, ['A', 'B', 'C']],
names=['asset', 'var']
)
res = pd.DataFrame(0, index=range(3), columns=columns)
print (res)
asset X Y
var A B C A B C
0 0 0 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
res.loc[0, ('X','B')] = 100
print (res)
asset X Y
var A B C A B C
0 0 100 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
我定义了一个 MultiIndex Dataframe 如下:
columns = pd.MultiIndex.from_product(
[assets, ['A', 'B', 'C']],
names=['asset', 'var']
)
res = pd.DataFrame(0, index=data.index, columns=columns)
但是,我没有成功设置或更新此 Dataframe
的 单个 值。有什么建议吗?或者我应该转向使用 numpy
数组 - 因为效率?
将 DataFrame.loc
与元组一起用于 select MultiIndex 列并设置新值,如:
assets = ['X','Y']
columns = pd.MultiIndex.from_product(
[assets, ['A', 'B', 'C']],
names=['asset', 'var']
)
res = pd.DataFrame(0, index=range(3), columns=columns)
print (res)
asset X Y
var A B C A B C
0 0 0 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
res.loc[0, ('X','B')] = 100
print (res)
asset X Y
var A B C A B C
0 0 100 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0