나는 내가 원하는 정보를 얻는 방법을 알아 냈지만 그렇게하는 더 좋고 더 읽기 쉬운 방법이 없다면 놀랄 것이다.
지정한 데이터 요소가있는 행의 다른 열에서 값을 가져오고 싶습니다. 예를 들어 'a'의 10 값에 해당하는 'b'의 값은 무엇입니까?
>>> df
a b c
0 10 20 30
1 11 21 31
2 12 22 32
>>> df['b'][df[df['a'] == 11].index.tolist()].tolist()
[21]
이것이 내가 현재 해결 한 방법이지만 실제로 내 데이터 프레임은 그렇게 간결하게 이름이 지정되지 않았고 열 이름으로 긴 문자열이 있으므로 행을 읽기가 어렵습니다.
편집 : 'a'의 값이 고유하지 않은 경우 'b'의 모든 해당 값을 가져 오는 방법도 있습니까?
부울 마스크를 사용 loc
하여 부울 조건이 충족되는 모든 행을 반환 할 수 있습니다. 여기서는 'a'== 11 인 조건으로 df를 마스크하고 이것이 충족되는 경우 'b'에 대한 모든 값을 반환합니다.
In [120]:
df = pd.DataFrame({'a':[10,11,11],'b':np.arange(3), 'c':np.random.randn(3)})
df
Out[120]:
a b c
0 10 0 -1.572926
1 11 1 -0.639703
2 11 2 -1.282575
In [121]:
df.loc[df['a'] == 11,'b']
Out[121]:
1 1
2 2
Name: b, dtype: int32
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다