Я создаю фрейм данных из словаря. Когда я использую orient = "index" и transpose (), значения NaN преобразуются в NaT. Но если я просто использую функцию from_dict () или другой способ, показанный ниже, все в порядке.
import pandas as pd
dictData = {
'index': [1, 2, 3, 4, 5],
'value': [10, None, 20, 30, 15]
}
for dk, dv in dictData.items():
if dk== 'index':
dv_series = pd.Series(dv)
dv_to_datetime = pd.to_datetime(dv_series)
dictData[dk] = list(dv_to_datetime)
# this will create NaT
df = pd.DataFrame.from_dict(dictData, orient="index").transpose()
print(df)
all_df = pd.DataFrame()
for keyForOP in dictData.keys():
df = pd.DataFrame({keyForOP: dictData[keyForOP]})
all_df = pd.concat([all_df, df], axis=1)
print(all_df)
df_from_dict = pd.DataFrame.from_dict(dictData)
print(df_from_dict)
На рисунках ниже показан результат из вышеприведенного кода. Я хочу знать, почему это происходит?
![enter image description here](https://i.stack.imgur.com/8IOi6.png)