假设我有一个CSV invites.csv
:
Email Invite Email Denied
batman@email.com batman@email.com
poisonivy@email.com catgirl@email.com
superman@email.com supergirl@email.com
catgirl@email.com
joker@email.com
supergirl@email.com
我想比较这两个列,并创建一个新列Emails Left
,其中只包含不在Email Denied
列中的电子邮件。
Email Invite Email Denied Emails Left
batman@email.com batman@email.com poisonivy@email.com
poisonivy@email.com catgirl@email.com superman@email.com
superman@email.com supergirl@email.com joker@email.com
catgirl@email.com flash@email.com
joker@email.com
supergirl@email.com
flash@email.com
这是我的代码:
import pandas as pd
Dir='invites.csv'
df = pd.read_csv(Dir)
df = pd.DataFrame(df)
a = len(df['Email invite'])
aList = []
for i in range(a):
if df['Email invite'][i] != df['Email Denied'][i]:
aList.append(df['Email Invite'][i])
#place list as third column df['Emails Left']
2条答案
按热度按时间63lcw9qa1#
我想通了。
在执行IF语句之前,我必须首先使列行相互匹配。
这样,DataFrame将如下所示:
我继续我的FOR循环和IF语句:
现在我有我的额外专栏:
现在我可以将其传输到新的CSV。
现在程序运行良好。
vwhgwdsa2#
不建议使用列长度不同的 Dataframe 。您必须用NaN或' '或其他东西填充剩余的元素,使它们长度相等。列表在以下情况下会更好: