【发布时间】:2022-01-17 14:57:47
【问题描述】:
从保存在 DataFrame 中的数据,我必须重新创建下面的格式(即 list(tuple(tuples))),所以它应该具有与以下相同的结构:
coord = [((9, 9), (10, 6), (11, 3),(12, 6))]
到目前为止,我已经能够通过以下代码从 DataFrame 创建元组:
coord_y = tuple(data_df['data'].iloc[i:])
coord_x = tuple(data_df['data'].index.values[i:])
coord = list(zip(coord_x, coord_y)) # stack into (x,y) coord
产生:
[(9, 9), (10, 6), (11, 3), (12, 6)]
这是错误的,因为它缺少“外部”元组,应该如下所示:
[((9, 9), (10, 6), (11, 3),(12, 6))]
我做错了什么?
【问题讨论】:
-
coord = [tuple(zip(coord_x, coord_y))] # stack into (x,y) coord -
你会得到一个整数元组列表,因为这就是你对
list(zip(...))所做的。如果您希望zip的结果在一个元组中,请执行tuple(zip())然后将其包含在一个列表中[...] -
@GennadyKandaurov 非常感谢 Gennady!那行得通。如果您作为答案回复,我很乐意接受并投票以供将来参考
-
你能展示你的数据框吗?我认为就像
df = pd.DataFrame({"data":[9,9,10,6,11,3,12,6]})
标签: python list dataframe tuples