【发布时间】:2022-01-20 15:17:21
【问题描述】:
我最近从 youtube API 中提取了数据,并且正在尝试使用该信息创建一个数据框。
当我使用“打印”函数遍历每个项目时,我会为每个变量获得 25 行输出(这是我在创建的数据框中想要的)。
如何使用此信息而不是数据框中的 1 行来创建包含 25 行的新数据框?
当我像这样遍历每个项目时:
df = pd.DataFrame(columns = ['video_title', 'video_id', 'date_created'])
#For Loop to Create columns for DataFrame
x=0
while x < len(response['items']):
video_title= response['items'][x]['snippet']['title']
video_id= response['items'][x]['id']['videoId']
date_created= response['items'][x]['snippet']['publishedAt']
x=x+1
#print(video_title, video_id)
df = df.append({'video_title': video_title,'video_id': video_id,
'date_created': date_created}, ignore_index=True)
=========答案更新========== 感谢所有提供意见的人!!!
创建数据框的代码是:
import pandas as pd
x=0
video_title = []
video_id = []
date_created = []
while x < len(response['items']):
video_title.append (response['items'][x]['snippet']
['title'])
video_id.append (response['items'][x]['id']['videoId'])
date_created.append (response['items'][x]['snippet'].
['publishedAt'])
x=x+1
#print(video_title, video_id)
df = pd.DataFrame({'video_title': video_title,'video_id':
video_id, 'date_created': date_created})
【问题讨论】:
-
您能否提供一个输入示例和您想要的输出示例?
-
你可以,在你的while循环
yt_data_list=[]之前创建一个列表,并在你的while循环中将数据附加到列表yt_data_list.append({'video_title': 't2','video_id': '1234', 'date_created': '12:33'}),然后在while循环之后,构建数据框df=pd.DataFrame(yt_data_list)