我有三个数据集(final_NN,ppt_code,herd_id),我想MapValue在final_NN数据框中添加一个名为的新列,并且可以从其他两个数据框中检索要添加的值,规则在代码后的底部。
import pandas as pd
final_NN = pd.DataFrame({
"number": [123, 456, "Unknown", "Unknown", "Unknown", "Unknown", "Unknown", "Unknown", "Unknown", "Unknown"],
"ID": ["", "", "", "", "", "", "", "", 799, 813],
"code": ["", "", "AA", "AA", "BB", "BB", "BB", "CC", "", ""]
})
ppt_code = pd.DataFrame({
"code": ["AA", "AA", "BB", "BB", "CC"],
"number": [11, 11, 22, 22, 33]
})
herd_id = pd.DataFrame({
"ID": [799, 813],
"number": [678, 789]
})
new_column = …Run Code Online (Sandbox Code Playgroud) 我有一个 df:
df2 = pd.DataFrame({
'ID': ['James', 'James', 'James',
'Max', 'Max', 'Max', 'Max', 'Max',
'Park', 'Park', 'Park',
'Tom', 'Tom', 'Tom', 'Tom'],
'From_num': [78, 420, 'Started', 298, 78, 36, 298, 'Started', 28, 311, 'Started', 60, 520, 99, 'Started'],
'To_num': [96, 78, 420, 36, 78, 78, 36, 298, 112, 28, 311, 150, 520, 78, 99],
'Date': ['2020-05-12', '2020-02-02', '2019-06-18',
'2019-08-26', '2019-06-20', '2019-01-30', '2018-10-23',
'2018-08-29', '2020-05-21', '2019-11-22',
'2019-04-12', '2019-10-16', '2019-08-26', '2018-12-11', '2018-10-09']})
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:
ID From_num To_num Date
0 James 78 96 2020-05-12
1 …Run Code Online (Sandbox Code Playgroud) 我有一个数据框如下:
df = pd.DataFrame({'Id': ['abs1', 'abs2', 'abs3', 'plo2', '201805', '201806', '202011', 'pctx1'],
'Date': ['2021-06-15', '2021-06-13', '2021-06-07', '2021-05-30',
'2021-05-12', '2021-04-28', '2021-04-15', '2021-02-01']})
Run Code Online (Sandbox Code Playgroud)
我希望将日期列分成几个组,在一个新列中,称为Date_Bin,规则是:从今天的日期开始,如果日期中的值小于7天,那么新列中的值将是“最后7天”天”,如果该值距离今天小于 14 天且大于 7 天,则值为“7 到 14 天”,如果该值小于 30 天且大于 14 天,则值为“14 到 14 天” 30天,30到60天,60到90天,90天以上都是同样的逻辑。理想的输出是这样的:
Id Date Date_Bin
0 abs1 2021-06-15 last 7 days
1 abs2 2021-06-13 last 7 days
2 abs3 2021-06-07 7 to 14 days
3 plo2 2021-05-30 14 to 30 days
4 201805 2021-05-10 30 to 60 days
5 201806 2021-04-28 30 to 60 days …Run Code Online (Sandbox Code Playgroud) 我想在我的数据表中添加一个带有 SQL 的新列,如下所示,
CREATE TABLE brands (
Brand varchar(255),
Contact varchar(150),
Address varchar(255),
Location varchar(50),
)
Run Code Online (Sandbox Code Playgroud)
我想添加一个名为 country 的新列,该值只能从以下值中选择:“日本”、“新西兰”、“美国”、“法国”

我可以添加新列,但我不知道如何为该列设置有限的可选值。如果您有想法,请帮助。非常感谢
pandas ×3
dataframe ×2
python ×2
data-mapping ×1
datetime ×1
filter ×1
group-by ×1
sql ×1
sql-server ×1