小编S3D*_*DEV的帖子

Plotly:如何添加多个 y 轴?

我有 5 个不同列的数据,它们的值彼此不同。

Actual gen  Storage Solar Gen   Total Gen   Frequency
  1464      1838    1804         18266        51 
  2330      2262    518          4900         51
  2195      923     919          8732         49
  2036      1249    1316         3438         48
  2910      534     1212         4271         47
  857       2452    1272         6466         50
  2331      990     2729         14083        51
  2604      767     2730         19037        47
  993       2606    705          17314        51
  2542      213     548          10584        52
  2030      942     304          11578        52
  562       414     2870         840          52
  1111      1323    337          19612        49   
  1863      2498    1992         18941 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x plotly

8
推荐指数
1
解决办法
2万
查看次数

for循环中matlabplot中的多个图例

以下程序执行正常但只显示一个图例.如何显示所有四个图例?请看附图.

import matplotlib.pyplot as plt
dct = {'list_1' : [1,2,4,3,1],'list_2' : [2,4,5,1,2],'list_3' : [1,1,3,4,6],'list_4' : [1,1,2,2,1]}

xs = [0,1,2,3,4]


for i in [1,2,3,4]:
    plt.plot(xs,dct['list_%s' %i])
    plt.legend(['%s data' %i])

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python matplotlib legend

7
推荐指数
2
解决办法
2万
查看次数

Pandas:从列表中选择包含任何子字符串的行

我想选择包含列表中任何子字符串的列中的那些行。这就是我现在所拥有的。

product = ['LID', 'TABLEWARE', 'CUP', 'COVER', 'CONTAINER', 'PACKAGING']

df_plastic_prod = df_plastic[df_plastic['Goods Shipped'].str.contains(product)]

df_plastic_prod.info()
Run Code Online (Sandbox Code Playgroud)

样本 df_ Plastic

Name          Product
David        PLASTIC BOTTLE
Meghan       PLASTIC COVER
Melanie      PLASTIC CUP 
Aaron        PLASTIC BOWL
Venus        PLASTIC KNIFE
Abigail      PLASTIC CONTAINER
Sophia       PLASTIC LID
Run Code Online (Sandbox Code Playgroud)

所需的 df_ Plastic_prod

Name          Product
Meghan       PLASTIC COVER
Melanie      PLASTIC CUP 
Abigail      PLASTIC CONTAINER
Sophia       PLASTIC LID
Run Code Online (Sandbox Code Playgroud)

提前致谢!我感谢任何对此的帮助!

python substring dataframe python-3.x pandas

6
推荐指数
1
解决办法
4470
查看次数

Python:查明另一个应用程序是否打开文件的有效方法

我想通过 Python 脚本查找应用程序是否打开了文件。我知道有很多提议,但似乎没有一个完全符合我的要求。我已经尝试了很多解决方案。但仍然无法获得预期的行为。我想要的是当 python 脚本尝试打开由 pdf 阅读器打开的文件时引发异常。例如,如果我使用 pdf 阅读器打开一个文件,并尝试通过 Python 脚本打开/重命名它,它应该引发异常。我尝试了多段代码:

try:
    myfile = open("myfile.csv", "r+") # or "a+", whatever you need
except IOError:
    print "Could not open file! Please close Excel!"

with myfile:
    do_stuff()
Run Code Online (Sandbox Code Playgroud)

在这个问题中,我测试了很多脚本,但没有一个完美运行。当我重命名 pdf 文件时,即使它打开,重命名也是接受者并在最后。

这让我想知道这是不可能的还是我做错了。

python

5
推荐指数
1
解决办法
364
查看次数

Python:Plotly 3D 曲面图

我很难绘制 Plotly 3d 曲面图。我有一个 4000 行和三列的大数据框。我确实在这里提问并得到了一些答案。当我尝试它们时,代码运行需要几个小时,但我看不到任何情节。我想确认我所做的是正确的。因为我是曲面图的新手。

我的代码:

import plotly.graph_objects as go
import plotly.graph_objs
import plotly
df = 
index     x           y           z
0        10.2        40.5        70.5            
1        30.5        30.2       570.5
.
.
4000     100.5       201.5      470.5

df['z']= [df['z'].tolist for x in df.index]
df = 
index     x           y           z
0        10.2        40.5       [70.5,570.5,..,470.5]            
1        30.5        30.2       [70.5,570.5,..,470.5]
.
.
4000     100.5       201.5      [70.5,570.5,..,470.5]

    zdata = [df['z'].tolist()]*len(df)
    plotly.offline.plot({"data":[go.Surface(x=df['x'].values,
                                            y=df['y'].values,
                                            z = df['z'].values)],
    "layout":plotly.graph_objs.Layout(title='Some data', autosize=False,
                      width=600, height=600,
                    scene = dict(xaxis_title='x',
                    yaxis_title='y',
                    zaxis_title='z'),
                      margin=dict(l=10, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib dataframe plotly

5
推荐指数
1
解决办法
1404
查看次数

Pyplot:鼠标悬停时显示标签值

我有一个非常基本的绘图,我想添加当鼠标悬停在绘图上的数据点上时显示值的功能。

我用来创建折线图的代码如下:

df_all['count'] = pd.to_numeric(df_all['count'])
cumulative = df_all['count'].cumsum()
cumulative.plot()

plt.plot()

print(plt.show())
Run Code Online (Sandbox Code Playgroud)

提前谢谢了

python plot matplotlib python-3.x

5
推荐指数
1
解决办法
4462
查看次数

Pandas:根据另一列的映射值创建新列

我想根据 Python 中另一列的条件创建一个新列。更具体地说,我在数据框中的一列是:

Kilos:
1. 8.0
2. 16.0
3. 12.0
4. 10.0
5. 5.0
...
Run Code Online (Sandbox Code Playgroud)

我希望新列基于此列,每次您找到kilos公斤为 8.0 的行(在列中),那么新列的行将写入“X2 + 部分”,当列为 16.0 时,该行将写入新专栏将写“X8 + parts”,对于我不关心的其他专栏。它们可以是空白或其他任何内容。

python dataframe python-3.x pandas

4
推荐指数
1
解决办法
4128
查看次数

Plotly:绘制 (n) 个点时标记消失

好的,所以我最初的想法是在绘图中绘制一个线图,并在特定阈值 t 之后用一种颜色为线着色,在阈值之前用另一种颜色为线着色。它适用于 23 或更少的点,但它适用于更多点,使用以下方法:

import numpy as np
import plotly.graph_objects as go

X = [j for j in range(0, 100)]
Y = [j for j in range(100000, 200000, 1000)]
X = X[:23]
Y = Y[:23]
X = np.array(X)
Y = np.array(Y)
t = 4

x = X[X <= t]  # Include the threshold
y = Y[X <= t]
bx = X[X >= t]
by = Y[X >= t]

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y, line=dict(width=4, color='grey'), name="useless data"))
fig.add_trace(go.Scatter(x=bx, y=by, …
Run Code Online (Sandbox Code Playgroud)

python plot python-3.x plotly plotly-python

4
推荐指数
1
解决办法
4059
查看次数

Numpy:在 ndarray 的每一行中查找第二大值的索引

我有一个[10,10] numpy.ndarray. 我试图让索引成为每一行中第二大的数字。所以对于数组:

[101   0   1   0   0   0   1   1   2   0]
[  0 116   1   0   0   0   0   0   1   0]
[ 1  4 84  2  2  0  2  4  6  1]
[ 0  2  0 84  0  6  0  2  3  0]
[ 0  0  1  0 78  0  0  2  0 11]
[ 2  0  0  1  1 77  5  0  2  0]
[ 1  2  1  0  1  2 94  0  1 …
Run Code Online (Sandbox Code Playgroud)

python numpy numpy-ndarray

2
推荐指数
1
解决办法
2426
查看次数

如何在 pandas Dataframe 中找到 5 个连续行,其中某一列的值至少为 0.5

我有一个包含 3 列的 pandas DataFrame;时间(日期时间对象)、real_genesis(浮点型)和predicted_ Generation(浮点型)。我创建了第四列“残差”(也是浮点数),即实际生成和预测生成之间的差异。我现在想要检测 5 个连续行的残差何时至少为 0.5。数据框如下所示:

Index         Time               real_generation    predicted_generation    residual  
0     2019-01-01 10:00:00+00:00     0.0                  0.239                 0.239
1     2019-01-01 11:00:00+00:00     0.126                0.627                 0.501
2     2019-01-01 12:00:00+00:00     0.227                0.833                 0.606
3     2019-01-01 13:00:00+00:00     0.230                0.833                 0.603
4     2019-01-01 14:00:00+00:00     0.245                0.827                 0.582
5     2019-01-01 15:00:00+00:00     0.255                0.756                 0.501
6     2019-01-01 16:00:00+00:00     0.260                0.627                 0.367
7     2019-01-01 17:00:00+00:00     0.255                0.533                 0.278
8     2019-01-01 18:00:00+00:00     0.248                0.427                 0.179
9     2019-01-01 19:00:00+00:00     0.124                0.233                 0.109
Run Code Online (Sandbox Code Playgroud)

我想创建一个函数来查找这些行并打印每组的第一个索引。这意味着打印索引“1”,因为第 1、2、3、4 和 5 行的残差 > …

python dataframe python-3.x pandas

2
推荐指数
1
解决办法
1972
查看次数