de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 Roman
Roman
Question

Jak uzyskać wartość z komórki ramki danych?

Mam skonstruowany warunek, który wyodrębnia dokładnie jeden wiersz z mojej ramki danych:

d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]

Teraz chciałbym pobrać wartość z konkretnej kolumny:

val = d2['col_name']

Ale w wyniku tego otrzymuję ramkę danych, która zawiera jeden wiersz i jedną kolumnę (i.e. jedna komórka). To nie jest to, czego potrzebuję. Potrzebuję jednej wartości (jednej liczby float). Jak mogę to zrobić w pandas?

289 2013-05-24T07:17:06+00:00 3
 cs95
cs95
Edytowane pytanie 30. grudnia 2017 в 9:09
Programowanie
python
pandas
dataframe
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
Andy Hayden
Andy Hayden
24. maja 2013 в 7:31
2013-05-24T07:31:09+00:00
Więcej
Źródło
Edytuj
#19456934

Jeżeli masz DataFrame z tylko jednym wierszem, to dostęp do pierwszego (jedynego) wiersza jako serii przy pomocy iloc, a następnie do wartości przy pomocy nazwy kolumny:

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
350
0
 Jeff
Jeff
24. maja 2013 в 12:58
2013-05-24T12:58:23+00:00
Więcej
Źródło
Edytuj
#19456935

To jest szybki dostęp dla skalarów

In [15]: df = pandas.DataFrame(numpy.random.randn(5,3),columns=list('ABC'))

In [16]: df
Out[16]: 
          A         B         C
0 -0.074172 -0.090626  0.038272
1 -0.128545  0.762088 -0.714816
2  0.201498 -0.734963  0.558397
3  1.563307 -1.186415  0.848246
4  0.205171  0.962514  0.037709

In [17]: df.iat[0,0]
Out[17]: -0.074171888537611502

In [18]: df.at[0,'A']
Out[18]: -0.074171888537611502
 hartmut
hartmut
Edytowana odpowiedź 16. stycznia 2018 в 10:43
173
0
 timeislove
timeislove
28. lutego 2014 в 1:40
2014-02-28T01:40:11+00:00
Więcej
Źródło
Edytuj
#19456936

Wygląda to na zmiany po pandas 10.1/13.1

Uaktualniłem z 10.1 do 13.1, przed iloc nie jest dostępny.

Teraz z 13.1, iloc[0]['label'] dostaje tablicę z pojedynczą wartością zamiast skalara.

Na przykład tak:

lastprice=stock.iloc[-1]['Close']

Wyjście:

date
2014-02-26 118.2
name:Close, dtype: float64
 newfurniturey
newfurniturey
Edytowana odpowiedź 28. lutego 2014 в 2:21
15
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Jasur Fozilov
Zarejestrowany 9 godzin temu
2
Zuxriddin Muydinov
Zarejestrowany 1 dzień temu
3
Денис Анненский
Zarejestrowany 3 dni temu
4
365
Zarejestrowany 1 tydzień temu
5
True Image
Zarejestrowany 1 tydzień temu
CS
DA
DE
EL
ES
FR
ID
IT
JA
KO
LT
LV
NL
PL
PT
RU
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem