python - 如何按索引在多列中绘制带有散点图的数据框?
问题描述
我有一个包含一些列的数据框,我想绘制每列值的频率
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()
但是,我希望结果如下:
有没有人可以帮助我?
解决方案
像这样试试。
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()
推荐阅读
- ios - UIControl 内存泄漏
- python - 捕获但不使用字符串中的字符
- python - 使用 matplotlib 在图例中制作自定义垂直线标记
- javascript - 获取引导模式中动态添加的选择输入的值以显示/隐藏文本输入
- python - Python缩进numpy矩阵产生与完全打印矩阵不同的结果
- node.js - Timex3 日期时间解析和转换
- matlab - 使用 fplot 时,x 轴和 y 轴的限制的正确语法是什么?
- ruby-on-rails - ArgumentError:Update_Attribute 方法的参数数量错误(给定 1,预期 2)
- python - 将 DataFrame 的所有列与另一个 DataFrame 的行相乘
- python - 通过 dict 更新查询集没有任何效果