![](/img/trans.png)
[英]Is there a way to create a single column pandas DataFrame from list without copying the list?
[英]copying pandas dataframe without messing it when extending list to a column
我想要一份 dataframe 的不同副本以将列表扩展到其“父母”列,但问题是复制我知道不起作用的程序,我该怎么办?
当我运行第 5 行但在运行第 6 行(#5 注释)时,它们工作得很好所以问题在 pandas 数据帧中将列表放入列中
moves=pd.DataFrame({"first":[0],"second":[5],'done':[0],'parents':[[-1]],'id':[0]})
# tdf=moves.copy(deep=True) #1
# tdf=moves.copy(deep=False) #2
# tdf=moves.loc[:] #3
# tdf=moves[:] #4
i=0
tdf.loc[i,'parents'].extend([moves.loc[i,'id']]) #5
# tdf.loc[i,'first']=4 #6
print(moves)
并且打印'moves'的结果将有[-1,0],但如果复制做得很好,它会像以前一样有[-1]。 而且我知道第 2 行不适用于原始复制,它会引用所以忽略第 2 行。
如果你想用相同的数据创建一个新的数据框,你可以写在 trf=moves 下面
然后根据您的要求进行更改
Copy 将 dataframe 移动到新的 dataframe (tdf) 并执行扩展操作。
moves=pd.DataFrame({"first":[0],"second":[5],'done':[0],'parents':[[-1]],'id':[0]})
i=0
tdf = moves
tdf.loc[i,'parents'].extend([moves.loc[i,'id']]) #5
# tdf.loc[i,'first']=4 #6
上面的代码为 tdf 提供了以下值
first second done parents id
0 0 5 0 [-1, 0] 0
这是你想要的?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.