注:更正 - 代码返回 AttributeError: 'str' 对象没有属性 'drop_duplicates' 。
我正试图循环浏览一些dfs,并将我的 "user_id "列用 df.drop_duplicates(subset =['user_id']
函数。
我需要将其作为一个全局变化,并试图将其整合到我的函数中,该函数导入.csv文件并将其分配到文件名中。这样做很完美,但是当我尝试添加drop_duplicates函数时,它似乎没有任何作用。
def assign_vars(files = os.listdir()):
# Make list of variable names using file name
variables = [make_var(file) for file in files]
# Start list to place dfs into
dfs = []
for var,file in zip(variables,files):
# Use globals to assign dfs to file names
globals()[var] = pd.read_csv(file)
#<<1>>
# Add each newly made df var to a list
dfs.append(var.drop_duplicates(subset =['user_id'])) # rmv duplicates
return print('Your variables are: ',sorted(dfs))
这将返回一个属性错误.似乎var被当作一个str而不是df来处理
当我 len()
a df,他们仍然和以前一样。即使当我单独 df.drop_duplicates
它们缩短 len()
70%左右。
或者,我试着在<<1>>处做一个中间对象,然后在<<1>>处做一个中间对象。.drop_duplicates
. 这不工作,我相信这是因为变化是保持本地。
增加 .drop_duplicates(subset =['user_id'])
到最后的csv导入,因为他们成为全球化的似乎做的伎俩。
def assign_vars(files = os.listdir()):
# Make list of variable names using file name
variables = [make_var(file) for file in files]
# Start list to place dfs into
dfs = []
for var,file in zip(variables,files):
# Use globals to assign dfs to file names
globals()[var] = pd.read_csv(file).drop_duplicates(subset =['user_id'])
# Add each newly made df var to a list
dfs.append(var) # rmv duplicates
return print('Your variables are: ',sorted(dfs))