'tell_skills'是一个字典,它与a,b,c列形成数据框。现在我想添加另一个值为'z'的常量列d。有两个不同的数据帧,有两个不同的z值我想连接。 “最终”数据框显示最后一列“d”仅为150而不是150和133分为相同的行数。
import pandas as pd
tell_skills = {1: ("NY", "LA", "HO"), 2: ("SA","DA", "AS")}
df_company = pd.DataFrame.from_dict(tell_skills, orient='index')
df_company.columns = ['a','b','c']
z = 133
df_company['d'] = z
df_comp=df_company
z = 150
df_company['d'] = z
final = pd.concat([df_comp,df_company])
答案 0 :(得分:0)
使用时
df_comp=df_company
它使df_comp
成为原始df_company
的第二个引用,所以当
`df_comp['d'] = z`
基本上会设置df_company['d'] = z
,以制作可以使用copy
模块的dataFrame的副本:
import copy
df_comp = copy.deepcopy(df_company)
有关deepcopy()
与copy()
编辑:正如Jezzamon
已指出DataFrame
对象有一个.copy()
方法,最好使用:
df_comp = df_company.copy()