我正在使用str.extract将一列名称解析为它们的各个组成部分(即标题,名字,中间名,姓氏),我想将其添加到数据框中,同时还要保留原始列进行质量检查。
我有一个数据框字典(来自excel / csv文件),在其中循环遍历值以清理数据框,并且可以通过将列串联起来来完成上述操作。这可行,但是不会更新数据框在字典中。
我使用for循环遍历字典值。我检查“名称”是否为df中的列。如果是的话,我将对输出进行数据框(df1)并连接df和df1。但是,这不会更新字典中的数据框...(df.dropna和df.rename可以正常工作)。
for df in all_files.values():
df.dropna(how='all', axis=1, inplace=True)
df.rename(columns=names_to_value_dict, inplace=True)
for i in df.columns:
if (i == NAME):
df1 = df['name'].str.extract('^(?P<title>.*\.\s)*(?P<first_name>[A-Z]\.?\w*\-?[A-Z]?\w*)\s?(?P<middle_name>[A-Z]\w+|[A-Z]?\.?)\s(?P<last_name>(?:[A-Z]\w{1,3}|St\.\s)?[A-Z]\w+\-?[A-Z]?\w*)(?:,\s|)(?P<Suffix>Jr\.|Sr\.|IV|III|II|)', expand=True)
df = pd.concat([df, df1], axis=1)
break
我希望带有分解列的数据框在字典中更新。 附加信息: