熊猫数据框按分组
问题描述:
我有一个熊猫数据框,其中包含一系列具有超过一年的数据的体育赛事的固定装置。熊猫数据框按分组
我想在数据框中创建一个新的列,'round'每星期增加一周,以便我可以一轮一轮地处理更大的一组矩阵(的固定装置)。
import pandas as pd
dta = pd.read_csv(...) #read data
indexedDta = dta.set_index(['Date']) #index the raw data.
indexedDta['Round'] = 0 #add in the new column and give dummy value.
indexedDta['Round']= indexedDta.groupby(by=dta.Date) #wrong
答
假设你只需要为每个星期不同的整数值,即按日期排序新列,但你不关心它的值,这些数字,你可以尝试:
import pandas
data = list(range(10))
dates = pandas.Series(pandas.date_range('2013-11-01', '2013-11-10'))
df = pandas.DataFrame({'dates': dates, 'data': data})
df = df.set_index('dates')
df['round'] = df.index.year * 100 + df.index.week
df
如果你想它由1递增1,也许添加:
df['round'] = df['round'].diff(1).fillna(1.)
df.loc[df['round'] != 0, 'round'] = 1.
df['round'] = df['round'].cumsum().astype(int)
df
您是否需要该列在每个新周(即:...... ... 4,5,6 ......)或每次增加1时增加1(即:...... ... 4, 8,11 ...')? – Peque
理想地增加1 – Mdev