【发布时间】:2019-09-25 05:55:12
【问题描述】:
我有这个 DataFrame,其中的列是坐标(例如 x1,y1,x2,y2...)。坐标列从第 8 列开始(前面的与问题无关)
我有一个更大的示例示例here,但这里有一个示例:
start_column = 8
df = pd.DataFrame(columns = ['x1','y1','x2','y2'],
data = [(0,0,1,0),(0,1,2,3),(-1,-2,None,None)])
for i in range(7):
df.insert(0,'c'+str(7-i),'x')
df
我想在 DataFrame 中创建一个新列作为 xy 对的列表,如:df["coordinates"]=[[x1,y1],[x2,y2],[x3,y3]....]
到目前为止我已经尝试过:
for row in df.iterrows():
for i in range(1,total_count_of_xy_rows):
df["coordinates"]=
df[["x{}".format(i),"y{}".format(i)]].values.tolist()
print(df)
有没有更好的方法来做到这一点?
【问题讨论】:
-
您的代码与预期有何不同?
-
你的df看起来怎么样?
-
我已经添加了数据框快照
-
我需要在 df 中再添加一列,其中可以包含行 [[x1,y1],[x2,y2]....] 的列表
-
而且我无法计算包含数据的 x 和 y 列的数量。因为有些行的 x y 高达 60 测量 x60 和 y60,而有些行的数据高达 x25 y25,因此另一行显示 NAN。