gpt4 book ai didi

python - 多输入多元数据可视化

转载 作者:行者123 更新时间:2023-12-04 21:28:24 24 4
gpt4 key购买 nike

我正在尝试通过从多个输入文件中读取多变量数据模型来可视化它们。我正在寻找一种简单的解决方案来可视化从多个输入 csv 文件读取的多个类别数据。没有。输入中的行数在单个文件中从 1 到 10000 不等。格式与所有具有 4 列的 csv 文件的输入相同。

输入 1

tweetcricscore 34  51 high

输入 2

tweetcricscore 23 46 low
tweetcricscore 24 12 low
tweetcricscore 456 46 low

输入 3

tweetcricscore 653  1 medium 
tweetcricscore 789 178 medium

输入 4

tweetcricscore 625  46 part
tweetcricscore 86 23 part
tweetcricscore 3 1 part
tweetcricscore 87 8 part
tweetcricscore 98 56 part

四个输入分别属于不同的类别,col[1]col[2] 是某种分类的成对结果。这里所有的输入都是同一个分类的输出。我想以更好的方式将它们可视化,以仅在一个图中显示所有类别。寻找相同的 python 或 pandas 解决方案。散点图或任何最佳绘图方法。

我已经在堆栈交换的数据分析部分发布了这个查询,但我运气不好,因此在这里尝试。 https://datascience.stackexchange.com/questions/11440/multi-model-data-set-visualization-python

可能类似于下图,其中每个类都有自己的标记和颜色,并且可以分类或以任何更好的方式一起显示对值。

代码:编辑 1: 我正在尝试使用上述输入文件绘制散点图。

import numpy as np
import matplotlib.pyplot as plt
from pylab import*
import math
from matplotlib.ticker import LogLocator
import pandas as pd

df1 = pd.read_csv('input_1.csv', header = None)

df1.columns = ['col1','col2','col3','col4']
plt.df1(kind='scatter', x='col2', y='col3', s=120, c='b', label='Highly')

plt.legend(loc='upper right')
plt.xlabel('Freq (x)')
plt.ylabel('Freq(y)')
#plt.gca().set_xscale("log")
#plt.gca().set_yscale("log")
plt.show()

错误:

Traceback (most recent call last):
File "00_scatter_plot.py", line 12, in <module>
plt.scatter(x='col2', y='col3', s=120, c='b', label='High')
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 3087, in scatter
linewidths=linewidths, verts=verts, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 6337, in scatter
self.add_collection(collection)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 1481, in add_collection
self.update_datalim(collection.get_datalim(self.transData))
File "/usr/lib/pymodules/python2.7/matplotlib/collections.py", line 185, in get_datalim
offsets = np.asanyarray(offsets, np.float_)
File "/usr/local/lib/python2.7/dist-packages/numpy/core/numeric.py", line 514, in asanyarray
return array(a, dtype, copy=False, order=order, subok=True)
ValueError: could not convert string to float: col2

预期输出 Plotting- Pandas

Scatter plot

最佳答案

更新:

不同的颜色:

colors = dict(low='DarkBlue', high='red', part='yellow', medium='DarkGreen')

fig, ax = plt.subplots()

for grp, vals in df.groupby('col4'):
color = colors[grp]
vals[['col2','col3']].plot.scatter(x='col2', y='col3', ax=ax,
s=120, label=grp, color=color)

PS 你必须注意你所有的组 (col4) - 在 colors 字典中定义

enter image description here

旧答案:

假设您已将您的文件连接/合并/加入到单个 DF 中,我们可以执行以下操作:

fig, ax = plt.subplots()
[vals[['col2','col3']].plot.scatter(x='col2', y='col3', ax=ax, label=grp)
for grp, vals in df.groupby('col4')]

enter image description here

PS 作为作业 - 你可以玩颜色 ;)

关于python - 多输入多元数据可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37147592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com