Mam dyktafon, który przechowuje obliczone wartości w różnych odstępach czasu, co oznacza, że zaczynają się w różnych datach. Na przykład, dane mam może wyglądać następująco:Wypełnianie dicta wartościami NA, aby umożliwić konwersję na pandasową ramkę danych
Date col1 col2 col3 col4 col5
01-01-15 5 12 1 -15 10
01-02-15 7 0 9 11 7
01-03-15 6 1 2 18
01-04-15 9 8 10
01-05-15 -4 7
01-06-15 -11 -1
01-07-15 6
Gdzie każdy nagłówek jest kluczem, a każda kolumna wartości jest wartość dla każdego klucza (używam defaultdict(list)
do tego). Kiedy próbuję uruchomić pd.DataFrame.from_dict(d)
, zrozumiałe jest, że wystąpił błąd stwierdzający, że wszystkie tablice muszą mieć tę samą długość. Czy istnieje prosty/trywialny sposób wypełnienia lub wypełnienia liczb tak, aby wynik końcowy był następującą ramką danych?
Date col1 col2 col3 col4 col5
01-01-15 5 12 1 -15 10
01-02-15 7 0 9 11 7
01-03-15 NaN 6 1 2 18
01-04-15 NaN 9 8 10 NaN
01-05-15 NaN -4 NaN 7 NaN
01-06-15 NaN -11 NaN -1 NaN
01-07-15 NaN 6 NaN NaN NaN
Czy będę musiał zrobić to ręcznie z każdą listą?
Oto kod, aby odtworzyć słownika:
import pandas as pd
from collections import defaultdict
d = defaultdict(list)
d["Date"].extend([
"01-01-15",
"01-02-15",
"01-03-15",
"01-04-15",
"01-05-15",
"01-06-15",
"01-07-15"
]
d["col1"].extend([5, 7])
d["col2"].extend([12, 0, 6, 9, -4, -11, 6])
d["col3"].extend([1, 9, 1, 8])
d["col4"].extend([-15, 11, 2, 10, 7, -1])
d["col5"].extend([10, 7, 18])
Czy możesz dodać kod, który mógłby ponownie utworzyć przykładowy dyktat? Poza tym przez N/A masz na myśli NaNs? – Divakar
Łatwo uzyskasz odpowiedź od jednego z nas, jeśli wykonasz trochę pracy na nogach i udostępnisz kod, do którego odnosi się @Divakar. – piRSquared
Właśnie dodano. I tak, miałem na myśli NaN. Przepraszamy, spędzam zbyt dużo czasu w programie Excel. – weskpga