2
나는 다음과 같은 팬더 dataframe 있습니다pandas DataFrame 열을 피벗하여 이진 "값 테이블"을 만드는 방법은 무엇입니까?
import pandas as pd
df = pd.read_csv("filename.csv")
df
A B C D E
0 a 0.469112 -0.282863 -1.509059 cat
1 c -1.135632 1.212112 -0.173215 dog
2 e 0.119209 -1.044236 -0.861849 dog
3 f -2.104569 -0.494929 1.071804 bird
4 g -2.224569 -0.724929 2.234213 elephant
...
나는 dataframe은 다음과 같습니다하도록
column E
의 범주 값의 ID에 따라 더 많은 열을 만들고 싶습니다
:이다
df
A B C D cat dog bird elephant ....
0 a 0.469112 -0.282863 -1.509059 -1 0 0 0
1 c -1.135632 1.212112 -0.173215 0 -1 0 0
2 e 0.119209 -1.044236 -0.861849 0 -1 0 0
3 f -2.104569 -0.494929 1.071804 0 0 -1 0
4 g -2.224569 -0.724929 2.234213 0 0 0 0
...
을, 값이 존재하는 경우 E
열의 값을 E
값을 기반으로하는 이진 행렬로 피벗시키고 1
을주고 다른 모든 열은 0
을 여기에 나타냅니다 (여기서는 -1
이되고 싶습니다. 또는 "부정 이진 행렬")?
팬더의 어떤 기능이 가장 좋을지 모르겠다. 아마도 pandas.DataFrame.unstack()
?
감사합니다.
감사합니다! 나는 이것을 위해 특별한 기능이 필요하다고 생각했다 ... – ShanZhengYang