小编Lyn*_*ynn的帖子

Plotly:如何在折线图上显示指定阈值的不同颜色段?

我有一个多线图,显示随时间推移的增长百分比。我想在我的代码中设置一个阈值以具有上限和下限。如果该线超出这些范围,我希望线图的特定部分的颜色与其父级不同。

这就是我正在做的:

import plotly.express as px
import plotly.graph_objects as go



fig = px.line(df14, x = "Date", y = "Percent", color = "id", 
          title = "id Growth in Percentage (US)", 
          labels = {"Percent": "Percent Growth"})

fig.update_layout(
font_family="Arial",
font_color="black",
title_font_family="Arial",
title_font_color="black",
legend_title_font_color="black"                                           #style the text (legend, title etc)
)


fig.update_xaxes(title_font_family="Arial")                               #style ance center title
fig.update_layout(
title={
    'text': "id Growth Percentage in US (Line Graph)",
    'y':0.9,
    'x':0.5,
    'xanchor': 'center',
    'yanchor': 'top'})


fig.update_traces(mode='markers+lines')                                    #add dots to line

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

这是视觉结果:

![图片|690x328](上传://hujUQbdPtbCAiXQoTTwLmzAAi02.png)

让我放大一行以更好地解释:

我想为每个 id 设置一个阈值 …

python threshold pandas plotly

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

如何在 R 中垂直连接或合并多个数据集

我有 12 个与此类似的数据集(这是一个示例,真实数据集都包含超过 10,000 个不同的行,具有相同的列数/名称)

   df1

   Start                End                      Duration

   9/10/2019 1:00:00  PM  9/10/2019 1:00:10  PM   10
   10/10/2019 2:00:00 PM 10/10/2019 2:00:10  PM   10


   df2

   Start                End                        Duration

   11/10/2019 1:00:00 AM  11/10/2019 1:00:10  AM   10
   12/10/2019 2:00:00 AM  12/10/2019 2:00:10  AM   10


    df3

   Start                   End                   Duration

   01/10/2020 1:00:00 AM   01/10/2020 1:00:10 AM   10
   02/10/2020 2:00:00 AM   02/10/2020 2:00:10 AM   10
Run Code Online (Sandbox Code Playgroud)

我想要这样的结果:

   Start                     End                   Duration

   9/10/2019  1:00:00 PM    9/10/2019 1:00:10  PM   10
   10/10/2019 2:00:00 PM    10/10/2019 2:00:10 PM   10
   11/10/2019 1:00:00 AM …
Run Code Online (Sandbox Code Playgroud)

merge r concatenation rbind dplyr

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

在 Pandas 中按顺序重命名重复的列名

我有一个数据框 df,我想在其中按连续顺序重命名两个重复的列:

数据

DD  Nice Nice Hello
0   1    1    2
Run Code Online (Sandbox Code Playgroud)

期望的

DD  Nice1 Nice2 Hello
0   1     1     2
Run Code Online (Sandbox Code Playgroud)

正在做

df.rename(columns={"Name": "Name1", "Name": "Name2"})
Run Code Online (Sandbox Code Playgroud)

然而,我正在运行该rename函数,因为两个列名相同,所以结果并不理想。

python numpy pandas

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

通过反向聚合转换进行棘手的长枢轴(Pandas)

我有一个数据集,我想将这些值解聚合到它们自己的唯一行中,并执行数据透视,按类别分组。

数据已更新

Period      Date        Area    BB stat AA stat CC stat DD stat BB test AA test CC test DD test BB re   AA re   CC re BB test2  AA test2 CC test2  DD test2                                                
8/1/2016    9/1/2016    NY      5       5       5               1       1       1               0       0       0     0          0       0         0
9/1/2016    10/1/2016   NY      6       6       6               4       4       4               0       0       0     0          0       0         0
8/1/2016    9/1/2016    CA      2       2       2               4       4       4               0       0       0 …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

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

按两列分组,求和、计数并在单独的列中显示输出值(熊猫)

我有一个数据集 df,我想在其中对两列进行分组,取另一列的总和和计数,并在单独的列中列出字符串

数据

id  date    pwr type
aa  q321    10  hey
aa  q321    1   hello
aa  q425    20  hi
aa  q425    20  no
bb  q122    2   ok
bb  q122    1   cool
bb  q422    5   sure
bb  q422    5   sure
bb  q422    5   ok
Run Code Online (Sandbox Code Playgroud)

想要的

id  date    pwr count   type
aa  q321    11  2       hey
                        hello
aa  q425    40  2       hi
                        no
bb  q122    3   2       ok
                        cool
bb  q422    15  3       sure
                        sure
                        ok
Run Code Online (Sandbox Code Playgroud)

正在做

g = df.groupby(['id', 'date'])['pwr'].sum().reset_index()
g['count'] …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

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

使用 Pandas/Python 为列中的重复项生成唯一值

我有一个数据集 df,我想通过在末尾放置数字来为类型列中的值创建唯一的 ID。

数据

type    total   free  use
a       10      5     5
a       10      4     6
a       10      1     9
a       10      8     2
a       10      3     7
b       20      5     5
b       20      3     7
b       20      2     8
b       20      6     4
b       20      2     8
Run Code Online (Sandbox Code Playgroud)

想要的

type    total   free  use
a       10      5     5
a1      10      4     6
a2      10      1     9
a3      10      8     2
a4      10      3     7
b       20      5     5
b1      20      3 …
Run Code Online (Sandbox Code Playgroud)

python pandas

3
推荐指数
1
解决办法
39
查看次数

使用 Python 分组和聚合数据集

我有一个数据集 df,我想在其中按某个列分组并获取其他列的聚合。

df

version     host    date        name    purpose date
pat         A       12/1/2019   pat     hi      12/1/2019
fam         A       12/1/2019   fam     cat     12/1/2019
set         BB      12/2/2019   set     hi      12/2/2020
ok          BB      12/2/2019   ok      hi      12/2/2020
sure        BB      12/2/2019   sure    cat     12/2/2020
Run Code Online (Sandbox Code Playgroud)

想要的

version host    date        name    purpose date    
2       A       12/1/2019   2       2       12/1/2019   
3       B       12/2/2019   3       3       12/2/2019   
Run Code Online (Sandbox Code Playgroud)

正在做

df.groupby['host].agg({'version' : 'count', 'name': 'count' , 'purpose': 'count'})
Run Code Online (Sandbox Code Playgroud)

但是,这并没有给我所需列的数量。任何建议表示赞赏

python numpy pandas

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

将字符串的前 3 个字符与特定列匹配

我有一个数据框 df,我想从特定列中获取字符串的前 3 个字符并将这些字符放在另一列下

数据

id  value   stat
aaa 10      aaa123
aaa 20  
aaa 500     aaa123
bbb 20  
bbb 10      bbb123
aaa 5       aaa123
            aaa123
            ccc123
Run Code Online (Sandbox Code Playgroud)

想要的

  id    value   stat
  aaa   10      aaa123
  aaa   20  
  aaa   500     aaa123
  bbb   20  
  bbb   10      bbb123
  aaa   5       aaa123
  aaa           aaa123
  ccc           ccc123
Run Code Online (Sandbox Code Playgroud)

正在做

 df.append({'aaa':aaa123}, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

我相信我必须附加值,可能使用映射或附加函数,但是,不确定如何指定前 3 个字符。任何建议表示赞赏

python numpy pandas

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

提取值的末尾并将其放置在基于特定条件的新列中

我有一个数据框 df,我想在其中提取值的结尾并将其用作新列的决定因素

数据

id  type
a   h_db-nd
a   h_db-nd
a   h_bu
Run Code Online (Sandbox Code Playgroud)

想要的

id  type       status
a   h_db-nd    nd
a   h_db-nd    nd
a   h_bu       d
Run Code Online (Sandbox Code Playgroud)

如果结尾是 nd 将 nd 放在新列中的旁边,如果不是,则默认为 'd'

正在做

df['status'] = df['type'].str.extract()
Run Code Online (Sandbox Code Playgroud)

我正在执行提取,但仍在对此进行故障排除。任何建议表示赞赏

python numpy pandas

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

使用 Python 将季度转换为长日期

我有一个数据集,我想将特定列中的值转换为长日期。长日期始终是该季度第一个月的第一天。

**Ex. Q122 = 1/1/2022,   Q222 = 4/1/2022,  Q322 = 7/1/2022,  Q422 = 10/1/2022**
Run Code Online (Sandbox Code Playgroud)

数据

ID   Date   Location

AA   Q123   NY
BB   Q425   CA
CC   Q226   NY
CC   Q326   NY
Run Code Online (Sandbox Code Playgroud)

期望的

ID   Date   Location   LongDate

AA   Q123   NY         1/1/2023
BB   Q425   CA         10/1/2025
CC   Q226   NY         4/1/2026
CC   Q326   NY         7/1/2026
Run Code Online (Sandbox Code Playgroud)

正在做

df['Date'] = pd.PeriodIndex(qs, freq='Q').to_timestamp()
Run Code Online (Sandbox Code Playgroud)

错误是无法解析。我认为这里必须进行初步转换。研究这个,任何建议都值得赞赏。

python numpy pandas

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

在 R (dplyr, r) 内分组、获取持续时间和设置条件

我有一个数据集,df:(数据集包含 4000 多行)

  DATEB

  9/9/2019 7:51:58 PM
  9/9/2019 7:51:59 PM
  9/9/2019 7:51:59 PM
  9/9/2019 7:52:00 PM
  9/9/2019 7:52:01 PM
  9/9/2019 7:52:01 PM
  9/9/2019 7:52:02 PM
  9/9/2019 7:52:03 PM
  9/9/2019 7:54:00 PM
  9/9/2019 7:54:02 PM
  9/10/2019 8:00:00PM
Run Code Online (Sandbox Code Playgroud)

如果日期时间之间的时间超过 120 秒,我想将它们放在不同的组中,并获取持续时间。

期望的输出:

Group   Duration

 a       5 sec
 b       2 sec
 c       0 sec




 dput:


  structure(list(DATEB = structure(c(2L, 3L, 3L, 4L, 5L, 5L, 6L, 
  7L, 8L, 9L, 1L), .Label = c("      9/10/2019 8:00:00 PM", "      9/9/2019 7:51:58 PM", 
  "      9/9/2019 7:51:59 PM", " …
Run Code Online (Sandbox Code Playgroud)

r lubridate dplyr

0
推荐指数
1
解决办法
53
查看次数

Python 中每组每 3 行进行分组并求和

我有一个数据框 df,我想在 Python 中对每组每 3 行进行分组和求和

数据

location    date    one         two         three
aa          Q4 16   1.444444    4.111111    2.444444
aa          Q4 16   1.611111    5.111111    2.777777
aa          Q4 16   2.111111    4.222222    2.999999
aa          Q4 23   2.444444    6.111111    2.444444
aa          Q4 23   3.611111    5.111111    2.777777
aa          Q4 23   1.111111    8.222222    1.999999
bb          Q1 24   0.111111    1.111111    1.111111
bb          Q1 24   2.111111    2.111111    2.111111
bb          Q1 24   3.122222    2.222222    1.999999
Run Code Online (Sandbox Code Playgroud)

期望的

每 3 行进行分组和求和,确保每个位置都分组

location    date    one         two         three
aa          Q4 16   5.166666    13.44444 …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

0
推荐指数
1
解决办法
644
查看次数

标签 统计

pandas ×10

python ×10

numpy ×8

dplyr ×2

r ×2

concatenation ×1

lubridate ×1

merge ×1

plotly ×1

rbind ×1

threshold ×1