티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

How can I get a value from a cell of a dataframe?

데이터프레임의 셀에서 값을 얻으려면 어떻게 해야 하나요?

 문제 내용 

I have constructed a condition that extracts exactly one row from my data frame:

저는 제 데이터프레임에서 정확히 하나의 행을 추출하는 조건을 구성했습니다.
d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]

 

Now I would like to take a value from a particular column:

이제 특정 열에서 값을 가져오고 싶습니다.
val = d2['col_name']

 

But as a result, I get a data frame that contains one row and one column (i.e., one cell). It is not what I need. I need one value (one float number). How can I do it in pandas?

그러나 결과적으로, 저는 하나의 행과 하나의 열(즉, 하나의 셀)을 포함하는 데이터프레임을 얻습니다. 그것은 제가 필요로 하는 것이 아닙니다. 하나의 값(하나의 float 숫자)이 필요합니다. 판다스에서 어떻게 할 수 있나요?

 

 

 

 높은 점수를 받은 Solution 

If you have a DataFrame with only one row, then access the first (only) row as a Series using iloc, and then the value using the column name:

행이 하나만 있는 DataFrame이 있는 경우 iloc을 사용하여 시리즈로 첫 번째(유일한) 행에 액세스한 다음 열 이름을 사용하여 값에 액세스합니다.
In [3]: sub_df
Out[3]:
          A         B
2 -0.133653 -0.030854

In [4]: sub_df.iloc[0]
Out[4]:
A   -0.133653
B   -0.030854
Name: 2, dtype: float64

In [5]: sub_df.iloc[0]['A']
Out[5]: -0.13365288513107493

 

 

 가장 최근 달린 Solution 

In later versions, you can fix it by simply doing:

이후 버전에서는 다음을 수행하여 간단히 수정할 수 있습니다.
val = float(d2['col_name'].iloc[0])

 

 

출처 : https://stackoverflow.com/questions/16729574/how-can-i-get-a-value-from-a-cell-of-a-dataframe

반응형
댓글
공지사항
최근에 올라온 글