Python可以分为两行,并在语句为true时分配一个新数组

Python可以分为两行,并在语句为true时分配一个新数组,python,pandas,csv,email,compare,Python,Pandas,Csv,Email,Compare,我的csv文件中有10列。我想匹配Bird和Mail行如果客户的Bird是Parrot,我将接收此邮件并将其分配到新阵列 现在,这段代码找到与Bird匹配的邮件,我可以用print(row['Mail'])打印它,但我不能将它分配给新数组。如果我这样尝试,它会说 TypeError:“type”对象不支持项分配 我认为这一行将其更改为浮动,这就是问题所在 我希望它们作为一个数组,因为我将使用这个数组作为邮件列表,这就是为什么我还希望消除相同的值并在它们之间添加作为分隔符 谢谢你的帮助和建议。 代

我的
csv
文件中有10列。我想匹配
Bird
Mail
行如果客户的Bird是Parrot,我将接收此邮件并将其分配到新阵列

现在,这段代码找到与Bird匹配的邮件,我可以用
print(row['Mail'])
打印它,但我不能将它分配给新数组。如果我这样尝试,它会说

TypeError:“type”对象不支持项分配

我认为这一行将其更改为浮动,这就是问题所在

我希望它们作为一个数组,因为我将使用这个数组作为邮件列表,这就是为什么我还希望消除相同的值并在它们之间添加
作为分隔符

谢谢你的帮助和建议。 代码如下:

import pandas as pd

df = pd.read_csv("Reports.csv", sep='\s*,\s*', engine='python', encoding="ISO-8859-2")
df1 = df.loc[:, :'Bird']
x=0
for index, row in df1.iterrows():
    if row['Name'] == 'Parrot':
        for x in df1.iterrows() :
            list[:1]=row['Mail']
            x =+ 1
print(list)
样本数据:

         somecolumn1     Mail            somecolumn2    somecolumn3   Bird
  1               asdf@gmaill.com                                     Parrot                                          
  2               asdf@gmaill.com                                     aaa
  3               asdf@gmaill.com                                     Parrot 
  4               asdf@gmaill.com                                     zzzz 
  5               asdf@gmaill.com                                     Parrot                
  6                     NaN                                           Parrot                       
  7                acac@gmail.com                                     Parrot
  8                mnmn@gmail.com                                     dddd
因此,确切地说,我希望创建这样的输出并消除重复(因为这些邮件中存在Parrot):

asdf@gmaill.com;acac@gmail.com

array_data = df.loc[df['Bird']=='Parrot', 'Mail'].tolist()
希望这对你有帮助

';'.join(df.loc[(df.Bird == 'Parrot')].Mail.dropna().drop_duplicates().tolist())
这将:

  • 仅选择
    Bird
    列中出现
    Parrot
    的行
  • Mail
    列中提取值
  • 删除空值(
    NaN
  • 删除重复值
  • 将其转换为
    列表
  • 连接该列表中的所有值,并用分号分隔

  • 您可以发布示例数据吗?您正在描述表格的方向。我(我们)想要样本数据来测试我们提出的任何解决方案。谢谢,我已经把它添加到我的问题中了。这太不可思议了,它完美地满足了我的要求,并且有很好的解释。这是你在这么短的时间内做的。非常感谢你。