Благодарим заблаговременно, новый для python, оцените помощь.Извлечение данных из объекта генератора
Используйте несколько файлов csv для создания фрейма данных, который я хочу фильтровать с помощью нескольких параметров pandas .asfreq(), создания объекта генератора, сортировки и списка результатов.
import pandas as pd
import numpy as np
N = 100
dates = pd.date_range('19971002', periods=N, freq='B')
df=pd.DataFrame(np.random.randn(len(dates),1),index=dates,columns=list('A'))
df1=pd.DataFrame(np.random.randn(len(dates),1),index=dates,columns=list('B'))
pieces = (df, df1)
data = pd.concat((pieces), join='outer', axis = 1)
df['custIndex'] = (df.groupby([df.index.year, df.index.month]).cumcount()+1) # 'CI' = custIndex increments by 1 for each occurance since month inception
data.head()
time_sets = ['W-Mon', 'W-Tue']
for time_set in time_sets:
grouped = data.asfreq(time_set).groupby(df.custIndex).sum()
print time_set
print grouped.head()
W-Mon
A B
custIndex
1 1.827512 -0.487051
3 -0.463776 -0.002071
6 2.074173 -0.232500
8 -0.282901 0.575820
11 0.505265 -3.844740
W-Tue
A B
custIndex
2 1.347802 -0.738638
4 0.273424 0.218833
7 1.439177 3.671049
9 1.722703 -0.962877
12 -3.415453 1.123824
Вот где у меня проблемы, цель состоит в том, чтобы отсортировать значения столбца «A» и «B» (верхние значения в начале), и извлекать custIndex с наибольшими значениями, и список custIndex, значение и столбец.
t = (group.sort_index(by='',ascending=True)for key, group in grouped)
Нужна помощь с тем, что для сортировки, попробовал несколько («CI», «ключ») вещи, не повезло.
t
<generator object <genexpr> at 0x000000000AA9A318>
top = pd.DataFrame()
for line in t:
top = top.append(line)
ValueError: need more than 1 value to unpack
Цель будет выглядеть следующим образом:
custIndex value time_set Column
6 2.074173 W_MON A
1 1.827512 W-MON A
9 1.722703 W-TUE B
Спасибо еще раз.
Wow! Спасибо, хорошо, за мой класс, но именно то, что я искал. Благодарим вас за ответ и за то, что помогли мне добраться до следующего уровня питона, отличные вещи! Спасибо! – Rayl54292