python - 使用索引设置 Pandas 列的字符串值
问题描述
我正在尝试在我的数据框中生成一个新列,其中为不同的索引值分配了一个字符串。我不够熟练,无法使用循环来完成,所以我尝试了子集和索引,看看我是否可以让我的生活更轻松。
df['event_type'] = []
A = df[df['flags'].isin(['A'])].index
B= df[df['flags'].isin(['B'])].index
C = df[df['flags'].isin(['B'])].index
df.loc[A, 'event_type'] = 'Condition One'
df.loc[B, 'event_type'] = 'Condition Two'
df.loc[C, 'event_type'] = 'Condition Three'
我已经多次得到值的长度与索引的长度不匹配,并且 Index.name 必须是可散列类型错误好几次了。我只想将这些字符串分配给新列中的这些索引,列中的所有其他值都可以是 Nan。
解决方案
你可以使用Series.map
,
df['event_type'] = df.flags.fillna('').map(
{"A": "Condition One", "B": "Condition Two", "C": "Condition Three"}
)
推荐阅读
- ios - UISearchController 未出现在 iOS 12 中
- java - 如何将大整数转换为连续两位整数的数组?
- python - os.join.path 确实改变了目录
- c# - 即使超时配置为 2 分钟,AWS Lambda 也会在 30 秒内超时
- java - 井字棋阵列检查游戏结束
- javascript - 修改对象和数组的数组。根据数组中的匹配值对对象进行排序
- javascript - 得到错误resolveBackend不是一个函数
- google-home - 谷歌家居控制风扇
- javascript - 使用 TOAST UI 编辑器,我无法上传超过 50kb 的图像
- vue.js - Vuetify 选项卡作为嵌套动态路由在父道具上出错