我有一个多线图,显示随时间推移的增长百分比。我想在我的代码中设置一个阈值以具有上限和下限。如果该线超出这些范围,我希望线图的特定部分的颜色与其父级不同。
这就是我正在做的:
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)
这是视觉结果:
让我放大一行以更好地解释:
我想为每个 id 设置一个阈值 …
我有 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) 我有一个数据框 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函数,因为两个列名相同,所以结果并不理想。
我有一个数据集,我想将这些值解聚合到它们自己的唯一行中,并执行数据透视,按类别分组。
数据已更新
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) 我有一个数据集 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) 我有一个数据集 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) 我有一个数据集 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)
但是,这并没有给我所需列的数量。任何建议表示赞赏
我有一个数据框 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 个字符。任何建议表示赞赏
我有一个数据框 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)
我正在执行提取,但仍在对此进行故障排除。任何建议表示赞赏
我有一个数据集,我想将特定列中的值转换为长日期。长日期始终是该季度第一个月的第一天。
**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)
错误是无法解析。我认为这里必须进行初步转换。研究这个,任何建议都值得赞赏。
我有一个数据集,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) 我有一个数据框 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)