분명히 보이는 팬더에서 계산을 시도하고 있지만 여러 번 시도한 후에 올바르게 수행하는 방법을 찾지 못했습니다.팬더의 행 값에 따라 열을 나눕니다.
df = pd.DataFrame([["A", "a", 10.0],
["A", "b", 12.0],
["A", "c", 13.0],
["B", "a", 5.0 ],
["B", "b", 6.0 ],
["B", "c", 7.0 ]])
첫 번째 열은 두 번째 열은 클래스이고, 세 번째 열은 시간을 제공하는 시험 이름 :
는 I이 닮은 dataframe있다. 각 테스트는 일반적으로 3 개의 클래스가있는 테이블에 있습니다.
이이처럼 그릴 수있는 올바른 형식은 다음과 같습니다
sns.factorplot(x="2", y="0", hue="1", data=df,
kind="bar")
은 그래서 각 테스트를 위해, 나는 3 개 개의 바, 각 클래스에 대한 하나의 그룹을 얻을.
그러나 2 열의 각 값이 절대 값이 아니지만 클래스 "a"와 비교되는 비율로 데이터 프레임을 변경하고 싶습니다.
그래서이로 변환하고 싶습니다 :
df = pd.DataFrame([["A", "a", 1.0],
["A", "b", 1.2],
["A", "c", 1.3],
["B", "a", 1.0],
["B", "b", 1.2],
["B", "c", 1.4]])
를이 일치하도록 내가 예를 들어, 계산을 수행 시리즈를 추출하는 인덱스를 변경할 수 있어요 :
df_a = df[df[1] == "a"].set_index(0)
df_b = df[df[1] == "b"].set_index(0)
df_b["ratio_a"] = df_b[2]/df_a[2]
하지만 이것은 확실히 비효율적이며 형식으로 다시 그룹화해야합니다.
올바른 방법은 무엇입니까?
고마워,이 잘 작동합니다! – Dric512