The presence of this DataFrame:
import pandas dates = pandas.date_range('2016-01-01', periods=5, freq='H') s = pandas.Series([0, 1, 2, 3, 4], index=dates) df = pandas.DataFrame([(1, 2, s, 8)], columns=['a', 'b', 'foo', 'bar']) df.set_index(['a', 'b'], inplace=True) df

I would like to replace the Series there with a new one that would just be old, but was re-mapped until the daytime (i.e. x.resample('D').sum().dropna() ).
When I try:
df['foo'][0] = df['foo'][0].resample('D').sum().dropna()
This seems to work well:

However, I get a warning:
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: http:
The question is, how do I do this?
Notes
Things I tried but don't work (oversampling or not, assignment throws an exception):
df.iloc[0].loc['foo'] = df.iloc[0].loc['foo'] df.loc[(1, 2), 'foo'] = df.loc[(1, 2), 'foo'] df.loc[df.index[0], 'foo'] = df.loc[df.index[0], 'foo']
A bit more information about the data (in case it matters):
- A real DataFrame has more columns in a multi-index. Not all of them are necessarily integers, but generally numerical and categorical. The index is unique (i.e. there is only one row with a given index value).
- The real DataFrame has, of course, many more rows in it (thousands).
- A DataFrame does not have to have only two columns, and there can be more than 1 column containing the type Series. Columns usually contain rows, categorical data, and numeric data. Any single column is always the same type (numeric, categorical or serial).
- The series contained in each cell usually has a variable length (i.e. the two series / cells in the DataFrame do not, unless a pure coincidence, have the same length and will probably never have the same index anyway, as the dates change how good between series).
Using Python 3.5.1 and Pandas 0.18.1.