Как все строки DataFrame панд могут быть построены вместе в виде линий? - PullRequest
0 голосов
/ 04 июня 2019

Допустим, у нас есть следующий DataFrame:

import pandas as pd
df = pd.DataFrame(
         [
             ['Norway'     , 'beta', 30.0 , 31.0, 32.0, 32.4, 32.5, 32.1],
             ['Denmark'    , 'beta', 75.7 , 49.1, 51.0, 52.3, 50.0, 47.9],
             ['Switzerland', 'beta', 46.9 , 44.0, 43.5, 42.3, 41.8, 43.4],
             ['Finland'    , 'beta', 29.00, 29.8, 27.0, 26.0, 25.3, 24.8],
             ['Netherlands', 'beta', 30.2 , 30.1, 28.5, 28.2, 28.0, 28.0],
         ],
         columns = [
             'country',
             'run_type',
             'score A',
             'score B',
             'score C',
             'score D',
             'score E',
             'score F'
         ]
    )
df

Как можно представить значения баллов в виде линий, где каждая строка соответствует стране?

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Поскольку вы пометили matplotlib, вот решение с использованием plt.plot().Идея состоит в том, чтобы построить линии строк, используя iloc

import matplotlib.pyplot as plt

# define DataFrame here

df1 = df.filter(like='score')

for i in range(len(df1)):
    plt.plot(df1.iloc[i], label=df['country'][i])

plt.legend()  
plt.show()

enter image description here

1 голос
/ 04 июня 2019

Попробуйте построить транспонирование кадра данных:

# the score columns, modify if needed
score_cols = df.columns[df.columns.str.contains('score')]


df.set_index('country')[score_cols].T.plot()

Вывод:

![enter image description here

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