我有一个数据框,如下:
ID Date Volume Sales
1 2020-02 10 4
1 2020-03 8 6
2 2020-02 6 8
2 2020-03 4 10
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以使用重采样将其转换为每周数据?将销量和销量列除以该月的周数?
我已经开始了我的流程,代码如下:
import pandas as pd
df['Date'] = pd.to_datetime(df['Date'])
df = df.set_index('date')
grouped = df.groupby('ID').resmaple('W').ffill().reset_index()
print(grouped)
Run Code Online (Sandbox Code Playgroud)
执行此步骤后,我收到错误消息:无法插入 ID,已存在
还有一个代码可用于查找一个月中的周数,以便将销量和销售额列除以该月中的周数。
预期输出是:
ID Volume Sales Weeks
0 1 2.5 1.0 2020-02-02
0 1 2.5 1.0 2020-02-09
0 1 2.5 1.0 2020-02-16
0 1 2.5 1.0 2020-02-23
1 1 1.6 1.2 2020-03-01
1 1 1.6 1.2 2020-03-08
1 1 1.6 1.2 2020-03-15 …Run Code Online (Sandbox Code Playgroud) 我有以下数据框:
ID Name Weight Score
1 Amazon 2 11
1 Apple 4 10
1 Netflix 1 10
2 Amazon 2 8
2 Apple 4 8
2 Netflix 1 5
Run Code Online (Sandbox Code Playgroud)
目前我有一个代码,如下所示
#add weight and score column
df['Rank'] = df['Weight'] + df['Score']
#create score rank on ID column
df['Score_Rank'] = df.groupby('ID')['Rank'].rank("first", ascending = False)
Run Code Online (Sandbox Code Playgroud)
这段代码并没有给我我想要的东西。
我想在分数上排名第一,不包括权重。然后通过添加权重列来打破排名中的任何平局。如果添加权重列后还有更多平局,则排名将通过随机选择。
我认为 if 语句可以在这种情况下工作,只是不确定如何工作。
预期输出:
ID Name Weight Score Score_Rank
1 Amazon 2 11 1
1 Apple 4 10 2
1 Netflix 1 10 3
2 Amazon …Run Code Online (Sandbox Code Playgroud) 我有一个数据框:
Time Weight
1 4
2 2
3 1
4 7
Run Code Online (Sandbox Code Playgroud)
如何标准化权重列,使权重列中的值之和等于 1 ?
我是 SQL 新手,我想根据设置的规则过滤列上的值
Group ID
1 09239820
2 2872498938
2 1267
3 23219823983
3 267839236
4 33287442
Run Code Online (Sandbox Code Playgroud)
我想用字母替换 ID 列中的第 1 个、第 2 个和第 4 个数字
Replace 1st with N
Replace 2nd with X
Replace 4TH with D
Run Code Online (Sandbox Code Playgroud)
预期输出:
Group ID
1 NX2D9820
2 NX7D498938
2 NX6D
3 NX2D9823983
3 NX7D39236
4 NX2D7442
Run Code Online (Sandbox Code Playgroud) 我有一个数据框
Group ID
1 09239820
2 2872498938
2 1267
3 23219823983
3 267839236
4 33287442
Run Code Online (Sandbox Code Playgroud)
我想用字母替换 ID 列中的第 1 个、第 2 个和第 4 个数字
Replace 1st with N
Replace 2nd with X
Replace 4TH with D
Run Code Online (Sandbox Code Playgroud)
预期输出:
Group ID
1 NX2D9820
2 NX7D498938
2 NX6D
3 NX2D9823983
3 NX7D39236
4 NX2D7442
Run Code Online (Sandbox Code Playgroud)