我正在尝试将日名转换为“工作日”或“周末”。
0 Saturday
1 Saturday
2 Saturday
3 Saturday
4 Saturday
...
209526 Friday
209527 Friday
209528 Friday
209529 Friday
209530 Friday我想要这个
0 Weekend
1 Weekend
2 Weekend
3 Weekend
4 Weekend
...
209526 Workday
209527 Workday
209528 Workday
209529 Workday
209530 Workday我的代码什么也不返回:
df['Weekday_Or_Workday'] = df.replace(["Monday", "Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],["Workday","Workday","Workday","Workday","Workday","Weekend","Weekend"])我怎样才能使这个转换?
发布于 2021-06-10 19:13:15
尝尝这个
df['Weekday_Or_Workday'] = df['Weekday_Or_Workday'].map({'Monday':'Workday','Tuesday':'Workday','Wednesday':'Workday','Thursday':'Workday','Friday':'Workday','Saturday':'Weekend','Sunday':'Weekend'})发布于 2021-06-10 19:13:45
我抄袭了你的代码对我有用。
因为这一行代码设置一个对象等于另一个对象,所以它不会返回任何内容。
如果您现在运行df (或print(df)),您应该看到已经添加了该列。
编辑:下面是我开始使用的数据格式:
df = pd.DataFrame(['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'])
发布于 2021-06-10 19:18:19
如果将dict(zip(..包装到代码中,它可能会更易读:
import calendar
days = calendar.day_name
to_replace = *["Workday"]*5, *["Weekend"]*2
df["Weekday_Or_Workday"] = df.replace(dict(zip(days, to_replace)))https://stackoverflow.com/questions/67927154
复制相似问题