Pandas 데이터 프레임에서 행 단위로 1에서 5까지의 정수를 계산해야합니다. 예를 들어
import pandas as pd
df = pd.DataFrame({'c1': [3, 1, 2], 'c2': [3, 3, 3], 'c3': [2, 5, None], 'c4': [1, 2, 3]})
c1 c2 c3 c4
0 3 3 2.0 1
1 1 3 5.0 2
2 2 3 NaN 3
다음이 생성됩니다.
n1 n2 n3 n4 n5
0 1 1 2 0 0
1 1 1 1 0 1
2 0 1 2 0 0
내가 건너 왔어요 .value_counts
하고 crosstab
있지만, 난 그냥 내가 원하는 것을 얻을 중 하나를 설정할 수 없었다. 어떤 도움이라도 대단히 감사하겠습니다.
미리 감사드립니다!
stack
+ get_dummies
df1 = pd.get_dummies(df.stack().astype(int)).sum(level=0)
# Cleans up names, types, missing
idx = range(1, 6)
df1 = df1.reindex(idx, axis=1).add_prefix('n').fillna(0, downcast='infer')
n1 n2 n3 n4 n5
0 1 1 2 0 0
1 1 1 1 0 1
2 0 1 2 0 0
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다