Почему None становится NaT, если в словаре есть столбец datetime во время создания кадра данных из этого словаря - PullRequest
0 голосов
/ 13 февраля 2020

Я создаю фрейм данных из словаря. Когда я использую 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

...