![](/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.