python - Pandas 数据框使用基于上述行的值创建新列
问题描述
目前,我有一个这样的数据框:
指数 | 领域 | 类型 | 上游的 | 下游 | 旗帜 |
---|---|---|---|---|---|
1 | 冰 | 搜索引擎 | 1 | 0 | 钠 |
2 | 英国广播公司的新闻 | 公共广播公司 | 1 | 1 | 中心 |
3 | 英国广播公司的新闻 | 公共广播公司 | 1 | 1 | 中心 |
4 | 社交媒体 | 1 | 0 | 钠 | |
5 | 福克斯新闻 | 商业广播公司 | 1 | 1 | 中心 |
我想获得这样的数据框:
指数 | 领域 | 类型 | 上层 | 下降 | 旗帜 | 参考fb | 参考soc_med | ref_bing | refer_search_eng |
---|---|---|---|---|---|---|---|---|---|
1 | 冰 | 搜索引擎 | 1 | 0 | 钠 | 钠 | 钠 | 钠 | 钠 |
2 | 英国广播公司的新闻 | 公共广播公司 | 1 | 1 | 中心 | 0 | 0 | 1 | 1 |
3 | 英国广播公司的新闻 | 公共广播公司 | 1 | 1 | 中心 | 0 | 0 | 1 | 1 |
4 | 社交媒体 | 1 | 0 | 钠 | 钠 | 钠 | 钠 | 钠 | |
5 | 福克斯新闻 | 商业广播公司 | 1 | 1 | 中心 | 1 | 1 | 0 | 0 |
我的脚本需要做的是:
创建新列,当上一行满足upstream = 1,downstream = 0的条件时,根据上一行对每个新闻项(始终标记为中心)进行分类。新闻有6个类别(例如,comm broadcaster,public broadcaster)只是例子)。我想要新列中的二进制值,例如上面的示例。
重要的是,如果“新闻”类型之后的后续行也是“中心”标志显示的“新闻”,那么这也应该与前一个新闻行的分类相同。
解决方案
我从您的问题中了解到的是,您想根据先前列的值创建新列。
df["new_column_nam"] = df[(df[upst] == 1) & (df[downst] == 0)]
In place of new_column_name, you could use the column names that you want to create.
推荐阅读
- flutter - 我在 flutter 中遇到 findAncestorStateOfType 错误。我该怎么办?我被困在这里
- kotlin - 在 kotlin react 中编写自定义钩子
- neural-network - Pytorch 神经网络如何将数据集加载到 GPU 中
- google-cloud-endpoints - 通过谷歌云端点访问谷歌应用引擎rest api
- selenium - 如何找到附加屏幕截图的 xpath。在 Java 中会有帮助
- docker - 不存在图像标签时如何查看 docker 图像层
- r - discretizeDF.supervised(formula, data, method = disc.method) 中的错误:data 需要是 data.frame
- xml - 当它们的值相同时,什么会导致 $string1 = $string2 返回 false?
- java - 将所有元素组合成一个通量到单声道
- youtube-api - YouTube 数据 API:即使 OAuth 设置正确,在尝试更新视频时刚开始返回 403 禁止错误