首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在熊猫中用组名替换多行值?

如何在熊猫中用组名替换多行值?
EN

Stack Overflow用户
提问于 2021-06-10 19:07:32
回答 3查看 61关注 0票数 0

我正在尝试将日名转换为“工作日”或“周末”。

代码语言:javascript
复制
0         Saturday
1         Saturday
2         Saturday
3         Saturday
4         Saturday
            ...   
209526      Friday
209527      Friday
209528      Friday
209529      Friday
209530      Friday

我想要这个

代码语言:javascript
复制
0         Weekend
1         Weekend
2         Weekend
3         Weekend
4         Weekend            
             ...   
209526      Workday
209527      Workday
209528      Workday
209529      Workday
209530      Workday

我的代码什么也不返回:

代码语言:javascript
复制
df['Weekday_Or_Workday'] = df.replace(["Monday", "Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],["Workday","Workday","Workday","Workday","Workday","Weekend","Weekend"])

我怎样才能使这个转换?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-06-10 19:13:15

尝尝这个

代码语言:javascript
复制
df['Weekday_Or_Workday'] = df['Weekday_Or_Workday'].map({'Monday':'Workday','Tuesday':'Workday','Wednesday':'Workday','Thursday':'Workday','Friday':'Workday','Saturday':'Weekend','Sunday':'Weekend'})
票数 1
EN

Stack Overflow用户

发布于 2021-06-10 19:13:45

我抄袭了你的代码对我有用。

因为这一行代码设置一个对象等于另一个对象,所以它不会返回任何内容。

如果您现在运行df (或print(df)),您应该看到已经添加了该列。

编辑:下面是我开始使用的数据格式:

df = pd.DataFrame(['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'])

票数 4
EN

Stack Overflow用户

发布于 2021-06-10 19:18:19

如果将dict(zip(..包装到代码中,它可能会更易读:

代码语言:javascript
复制
import calendar

days = calendar.day_name
to_replace = *["Workday"]*5, *["Weekend"]*2

df["Weekday_Or_Workday"] = df.replace(dict(zip(days, to_replace)))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67927154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档