У меня есть DataFrame с DateTimeIndex
с одним столбцом как таковым:
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(7), freq='D')
np.random.seed(seed=1)
data = np.random.randint(1, high=100, size=len(days))
df = pd.DataFrame({'Date': days, 'Col1': data})
df = df.set_index('Date')
print(df)
Вывод:
Col1
Date
2020-08-04 18:10:47.730173 38
2020-08-05 18:10:47.730173 13
2020-08-06 18:10:47.730173 73
2020-08-07 18:10:47.730173 10
2020-08-08 18:10:47.730173 76
2020-08-09 18:10:47.730173 6
2020-08-10 18:10:47.730173 80
2020-08-11 18:10:47.730173 65
Я хочу добавить столбец Col2 со значениями NaN и заполнить НЕКОТОРЫЕ значения только со списком. Это то, что я попытался сделать ниже:
# The code below doesn't work as intended
df['Col2'] = np.nan
df['Col2'] = df['Col2'].astype(object)
# Fails with: ValueError: Must have equal len keys and value when setting with an iterable
df.iloc[4, df.columns.get_loc('Col2')] = [1.1, 2.2]
Я намерен получить что-то вроде этого:
Col1 Col2
Date
2020-08-04 18:10:47.730173 38 NaN
2020-08-05 18:10:47.730173 13 NaN
2020-08-06 18:10:47.730173 73 NaN
2020-08-07 18:10:47.730173 10 NaN
2020-08-08 18:10:47.730173 76 [1.1, 2.2]
2020-08-09 18:10:47.730173 6 NaN
2020-08-10 18:10:47.730173 80 NaN
2020-08-11 18:10:47.730173 65 NaN
Как мне установить определенное значение ячейки c в список? Я хочу, чтобы pandas сохранял список, неважно, в каком формате он хранится, если я смогу получить его позже.
Намерение - это читаемый код. Производительность не имеет значения, так как эта операция будет выполняться несколько раз.