【发布时间】:2018-12-31 05:57:53
【问题描述】:
我是 python 新手,正在为一个非常基本的概念而苦苦挣扎,所以请耐心等待。请接受我的道歉。
目标: 我有一个现有的数据框 我想采用现有的数据框并基于它创建两个单独的版本(变量“df_1”和“df_2”)。它们将是相同的,只是它们具有不同的 country_id。
查看数据帧 1 的所需输出(“df_1”)
name occupation country_id
mike plumber 123
mary plumber 123
joe plumber 123
查看数据帧 2 的所需输出(“df_2”)
name occupation country_id
mike plumber 456
mary plumber 456
joe plumber 456
我的代码
country_id_1 = 123
country_id_2 = 456
df_0 =
name occupation
mike plumber
mary plumber
joe plumber
df_1 = df_0
df_2 = df_0
df_1['country_id'] = df_1.shape[0]*[country_id_1]
df_2['country_id'] = df_2.shape[0]*[country_id_2]
当我打印时,我得到这个结果
print(df_1['country_id'] = df_1.shape[0]*[country_id_1])
print(df_2['country_id'] = df_2.shape[0]*[country_id_2])
name occupation country_id
mike plumber 456
mary plumber 456
joe plumber 456
name occupation country_id
mike plumber 456
mary plumber 456
joe plumber 456
这显然是指我使用的最后一个变量 (country_Id_2)。我确信循环/迭代会解决这个问题,但我确实需要在一天结束时使用两个变量。任何帮助将不胜感激。
【问题讨论】:
-
错误是
df_0、df_1和df_2是同一个数据框,因为您使用df_1 = df_0和df_2 = df_0。只需添加copy()例如df_1 = df_0.copy()和df_2 = df_0.copy()相同,它应该可以解决您遇到的问题
标签: python pandas loops dataframe iteration