[英]Convert dictionary to pandas data frame
我正在運行一個腳本來使用 google pytrend 庫分析基於關鍵字的相關關鍵字搜索。 但是我得到的 output,我想將它轉換為 pandas 數據框,我嘗試了幾種方法,但沒有用。 csv 導出后文件為空。
import pandas as pd
from pytrends.request import TrendReq
pytrend = TrendReq()
pytrend.build_payload(kw_list=['AUDI','corona'], cat=0, timeframe='2021-03-01 2022-03-14',geo="TH")
related_queries = pytrend.related_queries()
related_queries.values()
#Covert to pandas dataframe
file1 = pd.DataFrame.from_dict(related_queries)
file1.to_csv('file2.csv' , index = True)
#Related query output
dict_values([{'top': query value
0 audi ราคา 100
1 audi tt 55
2 audi a5 51
3 a5 50
4 audi a4 26
5 audi มือ สอง 24
6 รถ audi 22
7 bmw 18
8 audi a6 17
9 audi q3 16
10 audi a3 14
11 audi thailand 14
12 audi q5 13
13 audi rs 13
14 audi e tron 11
15 benz 11
16 audi q7 10
17 audi a7 10
18 audi a5 ราคา 10
19 ราคา audi r8 9
20 audi q8 9
21 ราคา รถ audi 9
22 audi tt ราคา 8
23 audi car 8
24 audi a8 8, 'rising': query value
0 audi wong ig 10000`}])`
可能的解決方案如下:
import pandas as pd
from pytrends.request import TrendReq
pytrend = TrendReq()
pytrend.build_payload(kw_list=['AUDI','corona'], cat=0, timeframe='2021-03-01 2022-03-14', geo="TH")
#get related queries
related_queries = pytrend.related_queries()
related_queries.values()
alldata = []
for i in range(len(list(related_queries.values()))):
#build lists dataframes
top = list(related_queries.values())[i]['top']
rising = list(related_queries.values())[i]['rising']
#convert lists to dataframes
dftop = pd.DataFrame(top)
dfrising = pd.DataFrame(rising)
alldata.append(dftop)
alldata.append(dfrising)
#join two data frames
allqueries = pd.concat(alldata, axis=0)
allqueries.reset_index(drop=True, inplace=True)
allqueries.to_csv('file.csv', index = True)
allqueries
dataframe 的示例如下所示:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.