如何为现有pandas DataFrame中的每个条目添加标识旗标
解决方案
最简单的实现方式是直接对DataFrame做逐元素映射,一行代码即可完成需求:
import pandas as pd # 原始df df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 逐元素转换为指定格式的元组 result_df = df.applymap(lambda x: (x, 0))
输出result_df即可得到你需要的效果:
0 1 2 0 (1, 0) (2, 0) (3, 0) 1 (4, 0) (5, 0) (6, 0) 2 (7, 0) (8, 0) (9, 0)
如果你使用的是pandas 2.1及以上版本,可以替换为性能更优的DataFrame.map方法,写法完全一致:
result_df = df.map(lambda x: (x, 0))
这种方式不需要额外创建辅助DataFrame做合并操作,也不需要手动遍历修改元素,实现逻辑简单高效。
内容的提问来源于stack exchange,提问作者mcp
相关产品推荐
相关产品推荐

