Seite 1 von 1

DataFrame erstellen

Verfasst: Samstag 18. April 2020, 22:16
von jma23
Hallo zusammen,

gibt es einen eleganteren Weg folgendes DataFrame zu erstellen?

Code: Alles auswählen

df = pd.DataFrame({'itemID' : [],'date' : []})
for n in range(1,10464,1):
    for i in pd.date_range('2018-01-01', '2018-06-30'):
        df = df.append({'itemID' : n , 'date' : i} , ignore_index=True)

Re: DataFrame erstellen

Verfasst: Samstag 18. April 2020, 22:23
von einfachTobi
Du kannst die Schleife weg lassen.

Code: Alles auswählen

df = pd.DataFrame(range(1, 182), pd.date_range("2018-01-01", "2018-06-30"))

Re: DataFrame erstellen

Verfasst: Samstag 18. April 2020, 23:00
von __blackjack__
@einfachTobi: Ich denke so einfach nicht. Das ist ja nicht *eine* Schleife, sondern zwei verschachtelte.

Re: DataFrame erstellen

Verfasst: Sonntag 19. April 2020, 14:48
von einfachTobi
Oh, natürlich. War wohl schon etwas zu spät.
Das dürfte etwas schneller laufen:

Code: Alles auswählen

import pandas as pd
import numpy as np
N = 10464
date_range = pd.date_range('2018-01-01', '2018-06-30')
df = pd.DataFrame(np.repeat(range(1, N), len(date_range)), columns=["itemID"], dtype=float)
df["date"] = np.tile(date_range, N-1)