假设我有以下使用以下代码生成的多索引数据框:
import pandas as pd, numpy as np
names = ['Name1','Name2','Name3','Name4']
values = ['x1','x2','x3','x4']
categories = ['y1','y2','y3']
x1 = pd.Series([0, 0, 0], index=categories)
index = pd.MultiIndex.from_product([names, values]); placeholders = np.zeros((len(names)*len(values), len(categories)))
df = pd.DataFrame(placeholders, index=index, columns=categories)
for i in names:
for j in values:
df.loc[i,j] = x1
y1 y2 y3
Name1 x1 0.0 0.0 0.0
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
Name2 x1 0.0 0.0 0.0
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
Name3 x1 0.0 0.0 0.0
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
Name4 x1 0.0 0.0 0.0
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
当目录中的给定名称(即Name1,Name2,Name3等)不是键时,如何使用以下字典来填充与行y3相对应的列x1并填充np.nan该y3列中任何其他行的值字典?
{'Name1': 54, 'Name3': 50}
预期的输出(0可能是np.nan):
y1 y2 y3
Name1 x1 0.0 0.0 54
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
Name2 x1 0.0 0.0 0.0
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
Name3 x1 0.0 0.0 50
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
Name4 x1 0.0 0.0 0.0
x2 0.0 0.0 0.0
x3 0.0 0.0 0.0
x4 0.0 0.0 0.0
泛舟湖上清波郎朗
温温酱
心有法竹
相关分类