我有一个数据框,其中列是坐标(例如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)
有没有更好的办法?你知道吗
可以通过跨不同行
.apply
使用自定义列表理解函数来创建新列:使用此示例输入,坐标列从第8列开始,如您在注释中所述:
这将产生以下输出:
它处理的是每一行中坐标数不等的问题。希望有帮助!你知道吗
相关问题 更多 >
编程相关推荐