Построение кадра данных с различными значениями масштаба в python - PullRequest
0 голосов
/ 05 марта 2020

У меня есть следующий фрейм данных

df = pd.DataFrame({
'Date': [1930, 1931, 1932, 1933,1934],
'Income': [2300000, 5698907, 5976753, 6086762, 6577780],
'Age': [22, 45, 35, 40, 28],
'Weight': [0.01, 0.003, 0.04, 0.08, 0.07]
}) 

Каждая переменная имеет разные значения шкалы. Я хочу построить график вариаций на 1 графике, но из-за разницы шкал вариабалей я могу видеть только линию дохода. Я построил график, используя

df.plot(figsize=(20,10), linewidth=5, fontsize = 20);

. Я решил использовать масштабирование в зависимости от того, что я нашел в Интернете, поэтому я сделал следующее:

import pandas as pd
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df = scaler.fit_transform(df)

Затем я попытался построить график данных после сбоя функции и он выдал следующую ошибку:

AttributeError: 'numpy.ndarray' object has no attribute 'plot'

Я не уверен, откуда отсюда go. Цель состоит в том, чтобы построить все переменные на 1 графике.

1 Ответ

2 голосов
/ 05 марта 2020

Я считаю, что вам нужно создать новый DataFrame, потому что fit_transform return 2d numpy array:

import pandas as pd
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()

df = pd.DataFrame(scaler.fit_transform(df), columns=df.columns, index=df.index)
df.plot(figsize=(20,10), linewidth=5, fontsize = 20)
...