Pandas Dataframe 'falsch herum'
Verfasst: Montag 16. Juli 2018, 08:21
Hallo zusammen,
ich versuche mich immernoch an meinem Clustering.
Aktuell lese ich eine CSV-Datei mit Verkaufszahlen ein.
Das zugehörige Dataframe sieht dann so aus:
Das Problem daran ist, dass es falsch herum ist. Die einzelnen Verkaufswerte sind praktisch von links nach rechts, ich bräuchte sie aber von oben nach unten. Ziel ist es, für den kmeans-Algorithmus die prozentuale Änderung zu berechnen, mit DataFrame.pct_change().
Ich brauche sozusagen folgendes:
So lese ich das Dataframe ein:
Weiß jemand wie das geht?
EDIT: Ich weiß, dass man mit pct_change(axis=1) auch zeilenweise berechnen kann, das bringt mir ja aber im kmeans-Algorithmus nichts, oder? Der geht ja nach wie vor von oben nach unten?
ich versuche mich immernoch an meinem Clustering.
Aktuell lese ich eine CSV-Datei mit Verkaufszahlen ein.
Das zugehörige Dataframe sieht dann so aus:
Code: Alles auswählen
0 1 2 3 4 5 6 7 8 9 ... 40 41 \
0 348 381 335 347 279 290 250 305 257 285 ... 442 451
1 1149 1169 1136 1148 903 756 745 966 887 811 ... 983 1049
2 1216 966 834 772 463 438 425 409 386 376 ... 744 564
3 456 471 462 478 376 348 281 276 326 249 ... 302 0.0
Ich brauche sozusagen folgendes:
Code: Alles auswählen
0 1 2 3...
348 1149 1216 456
381 1169 1136 471
.... .... .... ....
Code: Alles auswählen
def extract_articles(data, article_numbers):
return pd.DataFrame(
[
data[data['ARTICLENO'] == article_no]['QUANTITY'].values
for article_no in article_numbers
]
).fillna(0)
def read_csv_file(file_name, number_of_lines):
return pd.read_csv(file_name, parse_dates=['DATE'], nrows=number_of_lines)
def get_unique_article_numbers(data):
return data['ARTICLENO'].unique()
def main():
data = read_csv_file('statistics.csv', 200)
modeling_article_numbers = get_unique_article_numbers(data)
modeling_data = extract_articles(data, modeling_article_numbers)
EDIT: Ich weiß, dass man mit pct_change(axis=1) auch zeilenweise berechnen kann, das bringt mir ja aber im kmeans-Algorithmus nichts, oder? Der geht ja nach wie vor von oben nach unten?