Возможно, проблема возникает из-за того, что вы соединяете график Серии панд ( temp1 из value_counts
call) и pandas DataFrame ( temp2 Форма pivot_table
Звонок) Сюжет. Поскольку ваша сводная таблица приводит к кадру данных из одного столбца, рассмотрите squeeze()
, чтобы преобразовать данные в одномерный ряд. А потом оттуда сюжет как обычно:
temp1 = df['Credit_History'].value_counts(ascending=True).sort_index()
temp2 = df.pivot_table(values='Loan_Status', index='Credit_History',
aggfunc=lambda x: x.map({'Y':1,'N':0}).mean())
temp2 = temp2.squeeze()
Ниже показаны случайные данные в надежде. df копирует исходную структуру данных:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
np.random.seed(42518) # SEED FOR RANDOM REPRODUCIBILITY
df = pd.DataFrame({'Credit_History': np.random.choice(['debt', 'credit'], 50),
'Loan_Status': np.random.choice(['Y', 'N'],50),
'Amount': abs(np.random.randn(50))*1000
}, columns = ['Credit_History','Loan_Status','Amount'])
temp1 = df['Credit_History'].value_counts(ascending=True).sort_index()
temp2 = df.pivot_table(values='Loan_Status', index='Credit_History',
aggfunc=lambda x: x.map({'Y':1,'N':0}).mean())
temp2 = temp2.squeeze()
fig = plt.figure(figsize=(8,4))
ax1 = fig.add_subplot(121)
temp1.plot(kind = 'bar')
ax2 = fig.add_subplot(122)
temp2.plot(kind = 'bar')
plt.show()