Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python在Json和数据帧之间进行转换_Python_Pandas - Fatal编程技术网

使用Python在Json和数据帧之间进行转换

使用Python在Json和数据帧之间进行转换,python,pandas,Python,Pandas,我有以下代码: responsedata = requests.get(url, data=data, headers=hed, verify=False) sample_object = pd.DataFrame(responsedata.json())['results'].to_dict() func(sample_object) 现在,, 我有另一个get调用,它使用函数对数据进行一些操作: responsedata2 = get_data(url2) 我知道: responseda

我有以下代码:

responsedata = requests.get(url, data=data, headers=hed, verify=False)
sample_object = pd.DataFrame(responsedata.json())['results'].to_dict()
func(sample_object)
现在,, 我有另一个get调用,它使用函数对数据进行一些操作:

responsedata2 = get_data(url2)
我知道:

responsedata2相当于responsedata.json['results']

好像我这样做了:

print responsedata2  
print responsedata.json()['results']
如果使用相同的URL调用,我将获得相同的输出

我的问题是如何创建与sample_object1等效的sample_object2,这样我就能够做到:funcsample_object2

你知道怎么做吗?这看起来很简单,但数据帧的参与让它变得很困难

编辑:

为了更好地解释我在追求什么。 我想写一个函数,它获取像responsedata2这样的对象,并返回像sample_object这样的对象。

从我能告诉pd.DataFrameresponsedata.json['results']到

提供{0:第一个数据集,1:第二个数据集}

而responsedata.json['results']

提供[第一个数据集,第二个数据集]的列表

为了像第一个一样将列表转换为字典,请使用

sample_object = {i: data for i, data in enumerate(responsedata2)}

enumerate是一个生成器,它接受一个iterable,如['a','b','c',…],并返回元组0,'a',1',b',等等。

您能否提供一些示例数据,以及有关func和getdata的更多信息?目前还不太清楚你的问题在哪里。@asongtoruin在让人困惑之前就试过了。在这里,我在寻找更简单的东西。。。只是转换类型。获取responsedata2并将其转换为sample_对象,当您知道responsedata2与responsedata相同时。json['results']能否请您给出一个输入数据和您期望的相应输出的示例?@joaquin responsedata是一个{Response}它给出的对象:sample_对象是一个字典,因为:这个转换是由我的代码成功完成的。responsedata2是@asongtoruin参见上面的评论您指的是:temp={i:data for i,data in enumerateresponsedata2}sample_object=pd.DataFrametemp.to_dict?不,只是sample_object={i:data for i,data in enumerateresponsedata2}应该给您我认为需要的{0:first data set,1:second data set}dict。无论如何,尝试将其传递到数据帧都会失败。我使用了我编写的内容,并且成功了。然后我移走了第二排,它也起了作用:不知道发生了什么,我很高兴它起了作用。如果你能解释的话,那将是令人敬畏的,嗯,那么我对熊猫没有太多的经验。我认为它所做的只是把dict转换成一个数据帧,然后再转换成dict。如果你写intstr2会发生什么。