【发布时间】:2021-11-24 04:40:38
【问题描述】:
Python 3.9 和 Pandas 1.3.4
这是df:
1 First Name Last Name fullname
2 Freddie Mercury Freddie Mercury
3 John Lennon John Lennon
4 David Bowie David Bowie
5 John Doe
6 Joseph Joseph
7 Jovi Jovi
我的一段代码目前只是发现fullname 列就是First Name + Last Name。
我目前正在尝试过滤First Name 列、Last Name 列中的空白条目以及fullname 列中的任何“John Does”。
当前代码:
import pandas as pd
df = pd.read_csv('file.csv', dtype=str, header=0)
df2 = pd.DataFrame(df, columns=['First Name', 'Last Name', 'fullname'])
df['fullname'] = (df[['First Name', 'Last Name']].fillna('').agg(' '.join, axis=1).str.strip().replace('', 'John Doe'))
df_sort = df2.loc[df2['First Name'] == " "] | df2.loc[df2['Last Name'] == " "] | df2.loc[df2['fullname'] == "John Doe"]
df.to_csv('file.csv', index=False)
df_sort.to_csv('missing names.csv', index=False)
目前我正在将缺少的名称写入新文件并仅输出以下内容:
First Name Last Name fullname
下面都是空的。
我希望输出为:
First Name Last Name fullname
John Doe
Joseph
Jovi
【问题讨论】: