我编写了一个方法,用于提取数据框rawDatabase
,验证列表“validationLists
”以及字段或列名称,以便将验证应用于数据库。
代码如下:
rawDatabase = GetStandardisedField(rawDatabase,validationLists,"Status")
def GetStandardisedField(rawDatabase,validationLists,field):
print('Standardising ', field,' ...')
my_list = validationLists[field]
l1=[]
print(rawDatabase.head())
for x in rawDatabase.field:
print('here')
choice = process.extractOne(x, my_list)[0]
l1.append(choice)
rawDatabase['choice']=l1
rawDatabase[field] = rawDatabase['choice']
del rawDatabase['choice']
return rawDatabase
在以前版本的代码中,我使用了实际的字段名称,例如:
for x in rawDatabase.Status:
这曾经工作正常,但为了让我的代码可重用和简单,我把它重写为:
for x in rawDatabase.field:
代码停止在'here'运行,我想知道Python是否允许你使用变量来选择数据框中的列
非常感谢任何帮助。
谢谢
答案 0 :(得分:0)
DataFrame['column_name']
- 是访问DataFrame列的首选语法,与DataFrame.column_name
进行比较,因为它允许您:
col='Col1'; df[col]
count
,'mean',max
等。注意:不要使用此类名称 - 这是一种不好的风格