我有一个字典data,它的结构如下:
{
1: {
'title': 'Test x Miss LaFamilia - All Mine [Music Video] | Link Up TV',
'time': '2020-06-28T18:30:06Z',
'channel': 'Link Up TV',
'description': 'SUB & ENABLE NOTIFICATIONS for more: Visit our clothing store: Visit our website for the latest videos: ...',
'url': 'youtube',
'region_searched': 'US',
'time_searched': datetime.datetime(2020, 8, 6, 13, 6, 5, 188727, tzinfo = < UTC > )
},
2: {
'title': 'Day 1 Highlights | England Frustrated by Rain as Babar Impresses | England v Pakistan 1st Test 2020',
'time': '2020-08-05T18:29:43Z',
'channel': 'England & Wales Cricket Board',
'description': 'Watch match highlights of Day 1 from the 1st Test between England and Pakistan at Old Trafford. Find out more at ecb.co.uk This is the official channel of the ...',
'url': 'youtube',
'region_searched': 'US',
'time_searched': datetime.datetime(2020, 8, 6, 13, 6, 5, 188750, tzinfo = < UTC > )
}我正试着制作一只熊猫DataFrame,它看起来像这样:
rank title time channel description url region_searched time_searched
1 Test x Miss LaFamilia... 2020-06-28T18:30:06Z Link Up TV SUB & ENABLE NOTIFICATIONS for more... youtube.com US 2020-8-6 13:06:05
2 Day 1 Highlights | E... 2020-08-05T18:29:43 England & .. Watch match highlights of D youtube.com US 2020-8-6 13:06:05在我的data字典中,每个key都应该是key中的rank条目,父key中的每个key都是一个列名为key的条目,它们的值是key持有的value。
当我简单地运行:
df = pd.DataFrame(data)df看起来如下所示:
1 2
title Test x Miss LaFamilia - All Mine [Music Video]... Day 1 Highlights | England Frustrated by Rain ...
time 2020-06-28T18:30:06Z 2020-08-05T18:29:43Z
channel Link Up TV England & Wales Cricket Board
description SUB & ENABLE NOTIFICATIONS for more: http://go... Watch match highlights of Day 1 from the 1st T...
url youtube.com/watch?v=YB3xASruJHE youtube.com/watch?v=xABoyLxWc7c
region_searched US US
time_searched 2020-08-06 2020-08-06我觉得很少有智能的枢轴线远离我所需要的东西,但我不知道如何以一种聪明的方式实现我所需要的结构。
发布于 2020-08-06 13:35:27
尝尝这个,
import pandas as pd
pd.DataFrame(data.values()).assign(rank = data.keys()) title ... rank
0 Test x Miss LaFamilia - All Mine [Music Video]... ... 1
1 Day 1 Highlights | England Frustrated by Rain ... ... 2发布于 2020-08-06 13:41:25
可以像@dm2在注释中提到的那样,以一种简单得多的方式来完成这一任务。在这里,d是具有数据的字典
df=pd.DataFrame(d)
dfz=df.T创建rank列
dfz['rank']=dfz.index发布于 2020-08-06 13:48:41
如果希望索引和排序为两个不同的列,则为。
创建数据格式
df = pd.DataFrame(data.values())中添加了一个级别列
df['rank'] = data.keys()或
若要在一行中执行此操作,请使用assign方法
df = pd.DataFrame(data.values()).assign(rank = data.keys())如果希望索引和排序是相同的列,则为
df = pd.DataFrame(data).Tdf.index.names = ['rank']应该管用的。
https://stackoverflow.com/questions/63284642
复制相似问题