这个问题早些时候被标记为如何制作好的可重复的熊猫示例的副本。对于任何寻求制作此类可重复数据样本的人来说,该贡献无疑应该是首选帖子,而这篇文章旨在阐明一种非常实用且有效的方法,将给定的数据样本包含df.to_dict()在与df=pd.DataFrame(<dict>). How to make good reproducible pandas examples 中的问题和答案都没有明确涵盖这一点。Usingdf.to_dict()也可以很好df.to_clipboard()地与 结合使用,在文章How to provide a reproducible copy of your DataFrame with to_clipboard()中进行了简明扼要的介绍
尽管有关于如何提出好问题的清晰简明的指导?以及如何创建最小的、可重现的示例,许多人似乎只是忽略了在他们的问题中包含可重现的数据样本。那么,当简单pd.DataFrame(np.random.random(size=(5, 5)))还不够时,有什么实用且简单的方法来重现数据样本呢?例如,您如何使用df.to_dict()并将输出包含在问题中?
在我dataframe的时间是3列分隔:year,month,day,就像这样:

我怎样才能将它们转换成date,所以我可以进行时间序列分析?
我可以做这个:
df.apply(lambda x:'%s %s %s' % (x['year'],x['month'], x['day']),axis=1)
Run Code Online (Sandbox Code Playgroud)
这使:
1095 1954 1 1
1096 1954 1 2
1097 1954 1 3
1098 1954 1 4
1099 1954 1 5
1100 1954 1 6
1101 1954 1 7
1102 1954 1 8
1103 1954 1 9
1104 1954 1 10
1105 1954 1 11
1106 1954 1 12
1107 1954 1 13
Run Code Online (Sandbox Code Playgroud)
但接下来呢?
编辑: 这是我最终得到的:
from datetime import datetime …Run Code Online (Sandbox Code Playgroud) 如何使用多个变量名称和值来融合pandas数据框?我有以下数据框,在for循环中更改其形状.在其中一个for循环迭代中,它看起来像这样:
ID Cat Class_A Class_B Prob_A Prob_B
1 Veg 1 2 0.9 0.1
2 Veg 1 2 0.8 0.2
3 Meat 1 2 0.6 0.4
4 Meat 1 2 0.3 0.7
5 Veg 1 2 0.2 0.8
Run Code Online (Sandbox Code Playgroud)
我需要以这样的方式融化它:
ID Cat Class Prob
1 Veg 1 0.9
1 Veg 2 0.1
2 Veg 1 0.8
2 Veg 2 0.2
3 Meat 1 0.6
3 Meat 2 0.4
4 Meat 1 0.3
4 Meat 2 0.7
5 Veg 1 0.2
5 Veg …Run Code Online (Sandbox Code Playgroud) 这是我的代码:
fig = go.Figure(
data=go.Heatmap(z=z_values, y=[str(x) for x in params_1], x=[str(x) for x in params_2]),
layout=go.Layout(
title="Analysis results",
xaxis=dict(title='Diameter'),
yaxis=dict(title='Max Distance')
),
)
fig.show()
Run Code Online (Sandbox Code Playgroud)
它生成一个 2D 热图(下面的代码段),但我想为颜色条添加一个标题:
不幸的是,情节示例也没有颜色栏标题。我试图将颜色栏属性包含在“标记”中,但这会引发错误。我怎么能这样做呢?
我们正在尝试在 plotly-dash 中生成一个实时仪表板,在生成时显示实时数据。我们通常遵循此处的指导(https://dash.plotly.com/live-updates)。
我们有一个回调,它大约每秒从源收集一大块新数据点,然后将数据附加到图形中。
当我们这样做时,对图形的更新是断断续续的,因为我们每秒都在回调上生成一个新的图形对象。我们希望图形流畅地流动,即使这意味着我们比实时数据落后一两秒。
我们正在研究动画(https://plotly.com/python/animations/),但尚不清楚我们如何将动画应用于附加到图形的实时数据流。
在调试或计算量大的循环期间,我想看看我的数据处理如何演变(例如在线图或图像中)。
plt.cla()在 matplotlib 中,代码可以使用然后plt.draw()或重绘/更新图形plt.pause(0.001),以便我可以实时或在调试时跟踪计算进度。我如何在情节表达(或情节)中做到这一点?
我一直在尝试更改散点图中的标记形状,但我似乎找不到正确的选项。绘图文档涵盖了大小和不透明度,但没有涵盖标记形状。这是我的示例代码-
import pandas as pd
import plotly.express as px
d = {'Date': ['01/01/1990','01/01/1990','01/01/1990','01/01/1990',
'01/01/2000','01/01/2000','01/01/2000','01/01/2000',
'01/01/2010','01/01/2010','01/01/2010','01/01/2010',
'01/01/2020','01/01/2020','01/01/2020','01/01/2020'
]}
df = pd.DataFrame(data=d)
df['Metric1']=[100, 110, 120, 130,
200, 210, 220, 230,
300, 310, 320, 330,
400, 410, 420, 430]
df['Marker']=[1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4]
df['Color']=['a', 'b', 'c', 'd',
'a', 'b', 'c', 'd',
'a', 'b', 'c', 'd',
'a', 'b', 'c', 'd']
fig = px.scatter(df, x='Date', y='Metric1', color = 'Color', hover_data = ["Color", "Marker"])
fig.show()
Run Code Online (Sandbox Code Playgroud)
是否可以实现我想要用 Plotly 散点图做的事情?我尝试遵循此论坛中的讨论 - https://community.plotly.com/t/getting- Different-markers-shapes/9944 但我是很难将其与我的问题联系起来我正在使用 Python 3.8 和 Plotly 4.11.0
我正在尝试与plotly,特别是ploty express,构建一些可视化。
我正在构建的一件事是散点图
我在下面有一些代码,它产生了一个很好的散点图:
import plotly.graph_objs as go, pandas as pd, plotly.express as px
df = pd.read_csv('iris.csv')
fig = px.scatter(df, x='sepal_length', y='sepal_width',
color='species', marker_colorscale=px.colors.sequential.Viridis)
fig.show()
Run Code Online (Sandbox Code Playgroud)
但是,我想尝试更改配色方案,即为每个物种呈现的颜色。
我读过了:
但是不能让颜色改变。
试:
fig = px.scatter(df, x='sepal_length', y='sepal_width',
color='species', marker_colorscale=px.colors.sequential.Viridis)
Run Code Online (Sandbox Code Playgroud)
产量:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-78a9d58dce23> in <module>
2 # https://plotly.com/python/line-and-scatter/
3 fig = px.scatter(df, x='sepal_length', y='sepal_width',
----> 4 color='species', marker_colorscale=px.colors.sequential.Viridis)
5 fig.show()
TypeError: scatter() got an unexpected keyword argument 'marker_colorscale'
Run Code Online (Sandbox Code Playgroud)
试
试: …
我如何利用 plotly.express 在一个 Pandas 数据框中的两个 yaxis 上绘制多条线?
我发现这对于绘制包含特定子字符串的所有列非常有用:
fig = px.line(df, y=df.filter(regex="Linear").columns, render_mode="webgl")
Run Code Online (Sandbox Code Playgroud)
因为我不想遍历所有过滤的列并使用以下内容:
fig.add_trace(go.Scattergl(x=df["Time"], y=df["Linear-"]))
Run Code Online (Sandbox Code Playgroud)
在每次迭代中。
我希望在同一画布内有一个多线图,与相同的 x 轴相连,如图所示:
使用子图并不能达到预期的目的。
import plotly.express as px
from plotly.subplots import make_subplots
import plotly.graph_objects as go
fig = make_subplots(rows=2, shared_xaxes=True,vertical_spacing=0.1)
fig.add_scatter(y=[2, 1, 3], row=1, col=1)
fig.add_scatter(y=[1, 3, 2], row=2, col=1)
fig.show()
Run Code Online (Sandbox Code Playgroud)
我可以知道如何做到这一点吗?如果有人能指出好的阅读材料,我将不胜感激