1
0 1 2
a
1 2 5 3
2 4 1 NaN
3 7 NaN NaN
당신이 쉬운 방법을 알고 있는가에
a b
0 1 2
1 1 5
2 2 4
3 1 3
4 3 7
5 2 1
을 dataframe? 다음과 같이
0 1 2
a
1 2 5 3
2 4 1 NaN
3 7 NaN NaN
당신이 쉬운 방법을 알고 있는가에
a b
0 1 2
1 1 5
2 2 4
3 1 3
4 3 7
5 2 1
을 dataframe? 다음과 같이
내가 이런 짓을 했을까 :
In [11]: df.groupby("a")["b"].apply(lambda x: pd.Series(x.values))
Out[11]:
a
1 0 2
1 5
2 3
2 0 4
1 1
3 0 7
Name: b, dtype: int64
을 당신이 다음 언 스택 원하는 형태를 얻을 수 (하지만 아마 위 이상) :
In [22]: df.groupby('a')["b"].apply(lambda x: pd.Series(x.values)).unstack(1)
Out[22]:
0 1 2
a
1 2.0 5.0 3.0
2 4.0 1.0 NaN
3 7.0 NaN NaN
훌륭한 솔루션. 감사. – user2725109
을 미안하지만 난 볼 수 없습니다 여기 패턴. 결과 행렬의 요소는 원본과 얼마나 관련이 있습니까? –
'b'열에 혈압 수치가 표시되고 'a'열에 환자 ID가 표시된다고 가정합니다. 각 환자의 모든 수치를 한 줄에 입력하고 싶습니다. 각 환자는 1에서 최대 10 회의 판독 값을 가질 수 있습니다. 따라서 최종 테이블의 형상은 number_of_patients x 10입니다. – user2725109