Нарисуйте кадр данных, содержащий все 1 и 0 с х вместо 1 и пустым для 0 - PullRequest
0 голосов
/ 10 мая 2019

У меня есть кадр данных Pandas, который выглядит следующим образом:

    0  1  2  3  4 
0   1  1  1  0  1
1   1  0  1  1  1
2   1  0  0  1  0
3   1  1  1  0  0
4   0  1  0  0  0

и я хочу создать график этих данных (возможно, с помощью matplotlib), который будет выглядеть так:

x  x  x     x
x     x  x  x
x        x  
x  x  x  
   x  

Кто-нибудь знает способ сделать это? Сюжет не должен быть сгенерирован matplotlib

Ответы [ 2 ]

1 голос
/ 10 мая 2019
import matplotlib.pyplot as plt
import numpy as np

a = np.array([[1,1,1],[1,0,1],[0,1,0]])
print(a)
af = np.flipud(a) ### flip upside down, get the right coordinates in the scatter plot
args = np.argwhere(af) ### find the args where we do not have zeros
plt.figure(figsize=(3,3))
plt.scatter(args.T[1,:],args.T[0,:], marker="x"); #plot!

enter image description here

0 голосов
/ 10 мая 2019

Это может привести вас на правильный путь.

import matplotlib.pyplot as plt
points = []
for index, row in df.iterrows():
    for i,x in enumerate(row):
        if x==1:
            points.append([index,i])
df_plt = pd.DataFrame(points)
plt.scatter(df_plt[0],df_plt[1])
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...