Python中文
首页
教程
问答
标签
搜索
登录
注册
交互式可视化选择要可视化的csv
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在使用Python编写一个交互式可视化代码。 我想做的是创建一个交互式可视化,它允许用户从下拉菜单(或类似的东西)中选择一个文件,然后绘制所选数据的条形图</p> <p>“我的数据”文件夹具有以下结构:</p> <pre><code>+-- it_features | +-- it_2017-01-20--2017-01-27.csv | +-- it_2017-01-27--2017-02-03.csv | +-- it_2017-02-03--2017-02-10.csv </code></pre> <p>以此类推(还有更多的文件,为了简单起见,我只报告了其中的几个文件)</p> <p>到目前为止,我能够访问和检索文件夹中包含的所有数据:</p> <pre><code>import os import pandas as pd path = os.getcwd() file_folder = os.path.join(path,'it_features') for csv_file in os.listdir(file_folder): print(csv_file) file = os.path.join(file_folder,csv_file) df = pd.read_csv(file) #following code.... </code></pre> <p>我想做的是创建一个insteractive可视化,允许用户选择文件名(例如it_2017-02-03--2017-02-10.csv)并绘制该文件的数据</p> <p>我可以“手动”选择我想要的文件,并通过在变量中插入文件名然后检索数据来绘制数据,但我不希望通过代码插入文件,并允许最终用户使用下拉菜单或类似的方式浏览和选择其中一个文件</p> <p>我的简单代码:</p> <pre><code>import os import pandas as pd path = os.getcwd() file_folder = os.path.join(path,'it_features') file = os.path.join(file_folder,'it_2020-02-07--2020-02-14.csv') # Here I insert my filename df=pd.read_csv(file) ax=df.value_counts(subset=['Artist']).head(10).plot(y='number of songs',kind='bar', figsize=(15, 7), title="7-14 February 2020") ax.set_xlabel("Artist") ax.set_ylabel("Number of Songs Top 200") </code></pre> <p>这将生成以下绘图: <a href="https://i.stack.imgur.com/9ZUxB.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/9ZUxB.png" alt="Barplot"/></a></p> <p>正如我已经说过的,我想介绍一个下拉菜单,它允许用户使用交互式绘图来选择要绘图的csv数据</p> <p>我看到可以使用Plotly创建下拉菜单,但是在各种示例(<a href="https://plotly.com/python/dropdowns/" rel="nofollow noreferrer">https://plotly.com/python/dropdowns/</a>)中,它似乎没有选择然后加载数据</p> <p>我还看到了这段代码(<a href="https://www.kaggle.com/benhamner/python-plotly-dropdown-demo" rel="nofollow noreferrer">Kaggle code</a>),它似乎完成了我想要做的事情:您可以选择区域并绘制该区域的数据</p> <p>主要的问题是,他只是用美国各州创建了一个独特的大数据框,然后为每个州创建了一个跟踪</p> <p>我想做的是(如果可能的话)从下拉列表中选择文件名,加载csv,然后打印其数据,而不创建一个包含所有文件的巨型数据框</p> <p>可能吗</p> <p><strong>编辑</strong>:由<em><strong>小黄瓜</strong></em>提出的解决方案非常有效,但我希望使用它的下拉菜单在里面有一个Plotly解决方案</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>tkinter是python的一个超级通用UI框架,是标准库的一部分。根据类似问题的答案,您可以使用:</p> <pre><code>from tkinter.filedialog import askopenfilename filename = askopenfilename() </code></pre> <p>弹出一个标准的文件浏览器窗口</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
5 回答
将Pandas数据帧转换为scipy稀疏矩阵
9 回答
将Pandas数据帧转换为Spark Datafram时出现问题
9 回答
将pandas数据帧转换为spark DataFram时出错
9 回答
将Pandas数据帧转换为spark datafram时收到错误
8 回答
将Pandas数据帧转换为Spark数据帧
10 回答
将Pandas数据帧转换为Tensorflow数据
4 回答
将Pandas数据帧转换为tkinter obj
1 回答
将pandas数据帧转换为XML
7 回答
将Pandas数据帧转换为值sql语句
7 回答
将pandas数据帧转换为元组
8 回答
将pandas数据帧转换为元组列表
10 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
5 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
4 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
1 回答
将pandas数据帧转换为内存中类似文件的对象?
6 回答
将Pandas数据帧转换为内存功能(&F)
7 回答
将pandas数据帧转换为列表列表
10 回答
将pandas数据帧转换为列表列表以输入到RNN
4 回答
将Pandas数据帧转换为单行DataFram
6 回答