Development Tip

인덱스 및 객체 유형이 아닌 Pandas DataFrame에서 값을 가져 오는 방법

yourdevel 2020. 10. 26. 21:22
반응형

인덱스 및 객체 유형이 아닌 Pandas DataFrame에서 값을 가져 오는 방법


다음 DataFrame이 있다고 가정하십시오.

문자 번호
A 1
B 2
C 3
D 4

다음 코드를 통해 얻을 수 있습니다.

import pandas as pd

letters=pd.Series(('A', 'B', 'C', 'D'))
numbers=pd.Series((1, 2, 3, 4))
keys=('Letters', 'Numbers')
df=pd.concat((letters, numbers), axis=1, keys=keys)

이제 Letters 열에서 C 값을 얻고 싶습니다.

명령 줄

df[df.Letters=='C'].Letters

돌아올 것이다

2C
이름 : 문자, dtype : 개체

내 질문은 : 전체 두 줄 출력이 아닌 값 C 만 얻을 수 있습니까?

대단히 감사합니다.
에두아르도


df[df.Letters=='C'].Letters.item()

그러면 해당 선택에서 반환 된 인덱스 / 시리즈의 첫 번째 요소가 반환됩니다. 이 경우 값은 항상 첫 번째 요소입니다.

편집하다:

또는 loc ()을 실행하고 그런 식으로 첫 번째 요소에 액세스 할 수 있습니다. 이것은 더 짧았으며 과거에 구현 한 방식입니다.


values속성을 사용하여 값을 np 배열로 반환 한 다음 사용 [0]하여 첫 번째 값을 가져옵니다.

In [4]:
df.loc[df.Letters=='C','Letters'].values[0]

Out[4]:
'C'

편집하다

개인적으로 아래 첨자 연산자를 사용하여 열에 액세스하는 것을 선호합니다.

df.loc[df['Letters'] == 'C', 'Letters'].values[0]

이 열 이름에 공백이나 대시 할 수 있습니다 문제 방지 -에 접속하여 의미 ..


import pandas as pd

dataset = pd.read_csv("data.csv")
values = list(x for x in dataset["column name"])

>>> values[0]
'item_0'

편집하다:

실제로 이전 배열처럼 데이터 세트를 인덱싱 할 수 있습니다.

import pandas as pd

dataset = pd.read_csv("data.csv")
first_value = dataset["column name"][0]

>>> print(first_value)
'item_0'

참고 URL : https://stackoverflow.com/questions/30787901/how-to-get-a-value-from-a-pandas-dataframe-and-not-the-index-and-object-type

반응형