Python 填充多索引系列
我有一个装满数据的熊猫数据框Python 填充多索引系列,python,pandas,Python,Pandas,我有一个装满数据的熊猫数据框 import pandas as pd import numpy as np varNames = ["point1","point2","point3","point4","point5"] df = pd.DataFrame(np.random.randn(5,2),index=varNames,columns=["data1","data2"]) 我想创建一个系列,其中包含一个由此创建的多索引。我可以做的索引是: iterables=[["point1",
import pandas as pd
import numpy as np
varNames = ["point1","point2","point3","point4","point5"]
df = pd.DataFrame(np.random.randn(5,2),index=varNames,columns=["data1","data2"])
我想创建一个系列,其中包含一个由此创建的多索引。我可以做的索引是:
iterables=[["point1","point2","point3"],["point4","point5"]]
index=pd.MultiIndex.from_product(iterables, names=['numerator', 'denominator'])
但是我不知道如何填写这个系列。我在找像这样的东西
s = pd.Series(max(df.loc[index["numerator"]]/df.loc[index["denominator"]]),index=index)
我想把第一个数据框中列为分子的每一行,除以第一个数据框中列为分母的每一行,从结果行中找到最大值,并将其存储在序列中的相关位置(s[variableN,variableM])
这是我第一次使用这个多索引的东西,除了逐行遍历序列,计算出值并存储它,类似的(我想,我想我还不能完全理解这一点),我不知道怎么做 您可以使用参数级别和最大值:
df3 = df.reindex(index, level=0).div(df.reindex(index, level=1)).max(level=0)
样本:
np.random.seed(456)
varNames = ["point1","point2","point3","point4","point5"]
df = pd.DataFrame(np.random.randn(5,2),index=varNames,columns=["data1","data2"])
print (df)
data1 data2
point1 -0.668129 -0.498210
point2 0.618576 0.568692
point3 1.350509 1.629589
point4 0.301966 0.449483
point5 -0.345811 -0.315231
iterables=[["point1","point2","point3"],["point4","point5"]]
index=pd.MultiIndex.from_product(iterables, names=['numerator', 'denominator'])
您可以将参数级别
与最大值
一起使用:
df3 = df.reindex(index, level=0).div(df.reindex(index, level=1)).max(level=0)
样本:
np.random.seed(456)
varNames = ["point1","point2","point3","point4","point5"]
df = pd.DataFrame(np.random.randn(5,2),index=varNames,columns=["data1","data2"])
print (df)
data1 data2
point1 -0.668129 -0.498210
point2 0.618576 0.568692
point3 1.350509 1.629589
point4 0.301966 0.449483
point5 -0.345811 -0.315231
iterables=[["point1","point2","point3"],["point4","point5"]]
index=pd.MultiIndex.from_product(iterables, names=['numerator', 'denominator'])
那个几乎奏效了。返回仅由分子索引的数据帧。我要找的是一个分子/分母组合的多重索引。这很好用,谢谢。现在我需要做的就是弄清楚发生了什么:)那。。。几乎奏效了。返回仅由分子索引的数据帧。我要找的是一个分子/分母组合的多重索引。这很好用,谢谢。现在我需要做的就是弄清楚发生了什么:)