Как построить фрейм данных с точечной диаграммой в несколько столбцов по индексу? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть фрейм данных с некоторыми столбцами, и я хотел бы построить частоту значения каждого столбца

df = pd.DataFrame({'A': ['0','0','0','2','0','0','0','3'],
               'B': ['0','0','0','4','3','0','0','4'],
               'C': ['1','1','2','8','9','6','1','10']})
df

На данный момент у меня есть код решения

plt.figure(figsize=(10, 5), dpi=80)
plt.plot(df.A,'rx', df.B, 'g^--', df.C, 'bs-')
plt.show()

Но я хотел бы получить следующий результат: enter image description here

Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Я пытался построить фрейм данных, как, например, ниже, я пишу простой код, и я получил изображение, как я хочу это сделать. Но мне нужно несколько предложений сделать for-loop или boolean для применения к большим данным.

df1 = pd.DataFrame({'A': ['0','0','0','2','0','0','0','3','0'],
               'B': ['0','0','0','4','3','0','0','4','2'],
               'C': ['1','1','2','8','9','6','1','10','3']})
df1

plt.figure(figsize=(5, 6), dpi=80)
plt.plot(df1.loc[0,:],'ro', df1.loc[1,:], 'ro', df1.loc[2,:], 'ro', df1.loc[3,:], 
    'bs-', df1.loc[4,:], 'g^--', df1.loc[8,:], 'g^--')
plt.plot(df1.loc[5,:], 'ro', df1.loc[6,:], 'ro', df1.loc[7,:], 'bs-')
plt.grid()
plt.show()

введите описание изображения здесь

0 голосов
/ 30 октября 2019

Попробуйте вот так.

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)

data = [[0,0,0,2,0,0,0,3],
       [0,0,0,4,3,0,0,4],
       [1,1,2,8,9,6,1,10]]
np_data = np.array(data)
indexes = [1,2,3,4,5,6,7,8]
columns = list('ABC')
df = pd.DataFrame(np_data.transpose(), index=indexes, columns=columns)
print(df)
df[columns] = df[columns].apply(pd.to_numeric, errors='coerce')
plt.figure()
df.plot()
plt.savefig("image.png")
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...