#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
У меня есть следующий pandas
фрейм данных:
import pandas as pd
timestamps = np.arange(1, 53)
quantities = np.arange(1, 53)
data = dict(quantities=quantities)
df = pd.DataFrame(data=data, columns=data.keys(), index=timestamps)
df.rename_axis('timestamps', inplace=True)
Я пытаюсь изменить фрейм данных на другие значения:
timestamps_new = [1, 1, 1, 2, 2, 2]
df = df.loc[timestamps_new]
Это работает, но я получаю следующее предупреждение:
FutureWarning: Passing list-likes to .loc or [] with any missing label will raise
KeyError in the future, you can use .reindex() as an alternative.
Почему это происходит? Я также получаю ошибку ключа при использовании:
df = df.loc[timestamps_new, 'index']
или
df = df.loc[timestamps_new, 'timestamps']
Спасибо за любую помощь в понимании этого.
Комментарии:
1. Это не ошибка, просто
FutureWarning
. Вы можете их подавить:import warnings; warnings.simplefilter(action='ignore', category=FutureWarning)
2. кроме того,
loc
происходит сбой, потому что у вас нет столбца с именемindex
илиtimestamps
. Попробуйтеdf.loc[timestamps_new, 'quantities']
3. @ChrisA Что, если вам нужны все столбцы, а не только
quantities
?4. Просто используйте предложение?
df.reindex(timestamps_new)
5. @ChrisA Да… :-/ Спасибо