![](/img/trans.png)
[英]How can i export correctly my json to a dataframe in pandas
[英]How can I loop correctly a pandas dataframe?
我有一个看起来像这样的数据框:
for user in df_enlaces['CorreoElectronico'].values:
to_mail=(df_enlaces.set_index('CorreoElectronico').loc[user].index[0])
print(to_mail, df_enlaces.set_index('CorreoElectronico').loc[user]['Enlace'])
上面代码的输出是:
example1@mail.com CorreoElectronico
example1@mail.com link1
example1@mail.com link2
Name: Enlace, dtype: object
example1@mail.com CorreoElectronico
example1@mail.com link1
example1@mail.com link2
Name: Enlace, dtype: object
example2@mail.com CorreoElectronico
example2@mail.com link3
example2@mail.com link4
example2@mail.com link5
Name: Enlace, dtype: object
example2@mail.com CorreoElectronico
example2@mail.com link3
example2@mail.com link4
example2@mail.com link5
Name: Enlace, dtype: object
example2@mail.com CorreoElectronico
example2@mail.com link3
example2@mail.com link4
example2@mail.com link5
Name: Enlace, dtype: object
然而,它是重复的。 循环时我做错了什么。 我只想将用户电子邮件与其在列 ['Enlace'] 中的链接相匹配。 所需的输出是:
example1@mail.com link1
example1@mail.com link2
example2@mail.com link3
example2@mail.com link4
example2@mail.com link5
尝试这个
for user in df_enlaces['CorreoElectronico'].unique():
....
您正在遍历CorreoElectronico
列中的每个值,然后当您执行.loc
它会拉出与该用户匹配的每一行(并且有几个)
看起来这应该可以解决问题:
users = ['user1', 'user1', 'user2', 'user2', 'user3']
links = ['link1', 'link2', 'link3', 'link4', 'link5']
df = pd.DataFrame({'user':users,'link':links})
for index, row in df.iterrows():
print(row['user'], row['link'])
至少当您只想从数据框中的每一行打印用户和链接时是这样吗? 这输出:
user1 link1
user1 link2
user2 link3
user2 link4
user3 link5
正如我想的那样,您想要:
为此,请使用以下循环:
for _, row in df_enlaces.iterrows():
print(f'{row.CorreoElectronico} {row.Enlace}')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.