如何将两列DataFrame转换为元组列表
解决方案
下面提供几种快速将包含X、Y列的DataFrame转换为元组列表的实用方法:
方法1:使用itertuples()(推荐,效率最优)
itertuples()会返回DataFrame的行迭代器,每个元素是命名元组,直接提取X、Y值即可组成目标元组:
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({ 'X': [56, 59, 58, 53, 56, 59], 'Y': [89, 90, 95, 89, 63, 78] }) # 转换为元组列表 tuple_list = [(row.X, row.Y) for row in df.itertuples(index=False)] print(tuple_list)
输出结果:
[(56, 89), (59, 90), (58, 95), (53, 89), (56, 63), (59, 78)]
index=False用于忽略原DataFrame的索引,避免元组中混入索引值
方法2:使用apply()结合tuple()
通过apply()对每行执行tuple()转换,再转为列表,代码更简洁:
tuple_list = df.apply(tuple, axis=1).tolist()
注:大数据量场景下,该方法效率略低于itertuples()
方法3:使用zip()
直接将X、Y两列打包成元组,轻量高效,适合仅需处理两列的场景:
tuple_list = list(zip(df['X'], df['Y']))
内容的提问来源于stack exchange,提问作者toms
相关产品推荐
相关产品推荐

