我有一个数据行很少。我想在第一行的顶部创建一行,并在第一行进行一些数据操作。例如,假设数据框看起来像这样
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。但是想问一下社区,还有其他更好的方法吗?