Python:Dataframe 循环仅重复一个元素
Python: Dataframe loop repeats by only one element
当我 运行 代码并输出它时,我注意到列表中第三项的消息连续输出了三次。使用列表中的前面和后面的元素,它可以解决问题。谁能帮我解决这个问题,或者谁知道如何至少删除此类重复项?
Nachrichten = []
for row in googlenews.results():
table_new.append({
'City': ort,
'Title': row['title'],
'URL':row['link'],
'Source': row['site'], })
df = pd.DataFrame(table_new)
dfges = pd.concat(nachrichten, axis='index')
´´´
您的代码包含一些关于小写和大写 e 的问题。 G。 nachrichten
对比 Nachrichten
。 Python 虽然是 case-sensitive。
要回答您的问题,您可以使用 drop_duplicates()
消除基于 'Title'
的重复项。
这产生:
dfges['Title'].value_counts().max()
>>> 1
扩展代码:
import pandas as pd
from GoogleNews import GoogleNews
googlenews = GoogleNews()
googlenews.set_encode('utf_8')
googlenews.set_lang('en')
googlenews.set_period('7d')
orte = ["Munich", "New York", "Madrid", "London", "Los Angeles", "Frankfurt", "Rom"]
nachrichten = []
for ort in orte:
googlenews.clear()
googlenews.get_news(ort)
table_new = []
for row in googlenews.results():
table_new.append({
'City': ort,
'Title': row['title'],
'Date': row['date'],
'URL':row['link'],
'Source': row['site'], })
df = pd.DataFrame(table_new)
nachrichten.append(df)
dfges = pd.concat(nachrichten, axis='index')
dfges.drop_duplicates(subset=['Title'], keep='last', inplace=True)
print(dfges)
当我 运行 代码并输出它时,我注意到列表中第三项的消息连续输出了三次。使用列表中的前面和后面的元素,它可以解决问题。谁能帮我解决这个问题,或者谁知道如何至少删除此类重复项?
Nachrichten = []
for row in googlenews.results():
table_new.append({
'City': ort,
'Title': row['title'],
'URL':row['link'],
'Source': row['site'], })
df = pd.DataFrame(table_new)
dfges = pd.concat(nachrichten, axis='index')
´´´
您的代码包含一些关于小写和大写 e 的问题。 G。 nachrichten
对比 Nachrichten
。 Python 虽然是 case-sensitive。
要回答您的问题,您可以使用 drop_duplicates()
消除基于 'Title'
的重复项。
这产生:
dfges['Title'].value_counts().max()
>>> 1
扩展代码:
import pandas as pd
from GoogleNews import GoogleNews
googlenews = GoogleNews()
googlenews.set_encode('utf_8')
googlenews.set_lang('en')
googlenews.set_period('7d')
orte = ["Munich", "New York", "Madrid", "London", "Los Angeles", "Frankfurt", "Rom"]
nachrichten = []
for ort in orte:
googlenews.clear()
googlenews.get_news(ort)
table_new = []
for row in googlenews.results():
table_new.append({
'City': ort,
'Title': row['title'],
'Date': row['date'],
'URL':row['link'],
'Source': row['site'], })
df = pd.DataFrame(table_new)
nachrichten.append(df)
dfges = pd.concat(nachrichten, axis='index')
dfges.drop_duplicates(subset=['Title'], keep='last', inplace=True)
print(dfges)