如何从DataFrame的A、B两列取值,通过for循环填充列表值字典
实现方案
方法1:推导式写法(简洁高效)
你直接用pandas的行遍历推导式就能快速生成目标字典,无需额外复杂逻辑:
import pandas as pd # 读取CSV,确保包含A、B两列 df = pd.read_csv("你的CSV文件路径.csv") # 生成目标字典,键从1开始计数,值为对应行的A、B值组成的列表 A_&_B_sets = {idx + 1: [row["A"], row["B"]] for idx, row in df.iterrows()}
方法2:显式for循环实现(符合你需要的循环逻辑)
如果你需要完全显式写for循环完成填充,参考如下代码:
import pandas as pd df = pd.read_csv("你的CSV文件路径.csv") row_count = len(df) A_&_B_sets = {} # 从1遍历到总行数 for i in range(1, row_count + 1): # pandas行索引默认从0开始,所以取i-1对应的行数据 current_a = df.loc[i - 1, "A"] current_b = df.loc[i - 1, "B"] A_&_B_sets[i] = [current_a, current_b]
补充说明
如果你的DataFrame存在非连续的自定义索引,先执行df = df.reset_index(drop=True)重置为默认0起始的连续索引即可正常运行。
内容的提问来源于stack exchange,提问作者Psiberian_Mushky
相关产品推荐
相关产品推荐

