import numpy as np
import pandas as pd
test_data = pd.DataFrame(
dict(
value=np.random.rand(9) - 0.5,
group=np.repeat(np.arange(3), 3),
time_idx=np.tile(np.arange(3), 3),
)
)
test_data
train_data = pd.DataFrame(
dict(
value=np.random.rand(9) - 0.5,
group=np.repeat(np.arange(3), 3),
time_idx=np.tile(np.arange(3), 3),
)
)
train_data
Why does this assignment:
for data in [train_data, test_data]:
data = data.sort_values('value')
not leave either of train_data or test_data sorted?
Doing the assignment outside the loop works just fine. Like so:
train_data = train_data.sort_values('value')
Doing an inplace operation inside the for loop works as well:
for data in [train_data, test_data]:
data.sort_values('value', inplace=True)