1
채우기 나는 데이터는 multiIndexed 팬더 시리즈
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"])
가득 팬더 dataframe을 가지고 있고 나는 multiIndex이에서 작성된로 시리즈를 만들고 싶습니다. 내가 할 수있는 색인 :
iterables=[["point1","point2","point3"],["point4","point5"]]
index=pd.MultiIndex.from_product(iterables, names=['numerator', 'denominator'])
나는 시리즈를 채우는 방법을 모르지만. 나는 내가 분자로 열거 된 첫 번째 dataframe의 각 행을, 그리고 분모를 열거 된 첫 번째 dataframe의 각 행하여 분할의에서 최대 값을 찾으려면 뭔가
s = pd.Series(max(df.loc[index["numerator"]]/df.loc[index["denominator"]]),index=index)
같은 후 해요 일련의 결과 라인을 관련 시리즈 (변수 [variableN, variableM])에 저장합니다.
이것은 멀티 인덱스를 사용하여 처음으로 시리즈별로 한 줄씩 진행하면서 값을 저장하고 저장하는 것만 큼 짧은 것입니다. (나는 생각합니다. 아직 이것을 완전히 이해하기 위해) this, 나는 이것을하는 방법을 이해할 수 없다.
그건 ... 거의 작동합니다. 그것은 분자에 의해서만 인덱싱 된 데이터 프레임을 반환합니다. 나는 분자/분모 콤보에 의해 multiIndexed 인 것이다. – Ben
답을 편집하고 마지막 단락을 확인하십시오. – jezrael
완벽하게 작동합니다. 감사합니다. 이제 내가해야 할 일은 무슨 일이 일어나고 있는지 알아내는 것뿐입니다. :) – Ben