Pobierz listę z kolumny pandy dataframe

Mam dokument Excela, który wygląda tak..

cluster load_date   budget  actual  fixed_price
A   1/1/2014    1000    4000    Y
A   2/1/2014    12000   10000   Y
A   3/1/2014    36000   2000    Y
B   4/1/2014    15000   10000   N
B   4/1/2014    12000   11500   N
B   4/1/2014    90000   11000   N
C   7/1/2014    22000   18000   N
C   8/1/2014    30000   28960   N
C   9/1/2014    53000   51200   N

Chcę być w stanie zwrócić zawartość kolumny 1-klaster jako listę, więc mogę uruchomić na niej pętlę for i utworzyć arkusz excel dla każdego klastra.

Czy możliwe jest również zwrócenie zawartości całego wiersza do listy? np.

list = [], list[column1] or list[df.ix(row1)]
Author: yoshiserry, 2014-03-12

2 answers

Kolumny ramek danych Pandy są seriami pand po ich wyciągnięciu, które można następnie wywołać .tolist(), aby przekształcić je w Listę Pythona

from pandas import *

d = {'one' : Series([1., 2., 3.], index=['a', 'b', 'c']),
    'two' : Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}

df = DataFrame(d)

#print df

print "DF", type(df['one']), "\n", df['one']

dfList = df['one'].tolist()

print "DF list", dfList, type(dfList)

To pytanie może być pomocne. A Pandy docs są całkiem dobre, gdy już opanujesz ich styl.

Więc w Twoim przypadku możesz:

my_list = df["cluster"].tolist()

/ Align = "left" /
 230
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:01

Zwraca tablicę numpy:

my_list = df["cluster"].values

Zwraca tablicę numpy dla unikalnych wartości:

my_list = df["cluster"].values
uniqueVals = np.unique(my_list)

Lub alternatywnie:

uniqueVals = df["cluster"].unique()
 21
Author: Anirudh Bandi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-28 04:13:48