熊猫从数据框中深度复制一行

时间:2018-12-19 05:38:35

标签: python-3.x pandas dataframe

我有一个数据行很少。我想在第一行的顶部创建一行,并在第一行进行一些数据操作。例如,假设数据框看起来像这样

EId      Details
  1     {'Age':24,'Occupation':'Engineer'}
  2     {'Age':26,'Occupation':'Tester'}

我想在第一行的顶部创建另一行,并为该行修改一些数据。 我知道复制行不会递归地复制python对象(这意味着如果我为新行修改Age,则数据框中的原始行也会被修改)。所以我尝试了deepCopy。它只能使用0.19.2的熊猫,但不能使用0.23.4的熊猫。

这是我尝试过的

new_row_df=df.head(1).copy(deep=True)
new_row_df['Details']=copy.deepcopy((df.head(1))['file_columns'])

即使进行了更改,它仍然复制了引用。当我修改复制行中的“详细信息”列时,原始行也得到了修改。

然后我认为更改为字典并进行修改应该可以。所以我尝试了这个。

new_row = df.head(1).to_dict('list')

即使在我转换为字典并修改了值之后,原始行仍然被修改了。 我可以做的另一种方法是使用json.dumps。但是想问一下社区,还有其他更好的方法吗?

0 个答案:

没有答案