Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.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 返回特定格式的输入?_Python_Pandas - Fatal编程技术网

Python 返回特定格式的输入?

Python 返回特定格式的输入?,python,pandas,Python,Pandas,现在,我正在熊猫数据框中搜索与某个用户名匹配的条目。它返回的内容如下: “用户”、“用户”、“2”、“1”、“2020-2007-2007-10,”最后一个“结束,”结束:“0:“2020年10-20-2007-7-25,”2:“2020-2007-7-11,”2:“2020-07-11,”2:“2020-2007-10-11,”2:“2020-2007-2007-7-25,”2:“1:“2020-2020-2007-2007-25,”2:“2020-2007-10-10-11,”2:“2020

现在,我正在熊猫数据框中搜索与某个用户名匹配的条目。它返回的内容如下: “用户”、“用户”、“2”、“1”、“2020-2007-2007-10,”最后一个“结束,”结束:“0:“2020年10-20-2007-7-25,”2:“2020-2007-7-11,”2:“2020-07-11,”2:“2020-2007-10-11,”2:“2020-2007-2007-7-25,”2:“1:“2020-2020-2007-2007-25,”2:“2020-2007-10-10-11,”2:“2020-10-10-10-10-10-11-11,”2:,,”2:“2020-2007-11-11-11-11-11-11-11,”在该期间,在该期间,在该期间,从从从从中,开始开始开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始,开始“:“2020-07-25T14:25”,“2”:“2020-07-25T14:32”},“颜色”:{“0”:“000000”,“1”:“000000”,“2”:“ff0000”}

有没有一种方法可以用另一种格式从熊猫数据帧返回值,比如这样?
{用户名:用户,标题:asdsdfs,起始时间:2020-07-25T14:24},{用户名:用户,标题:asdsdfs,起始时间:2020-07-25T14:24}

很抱歉,如果这是一个非常明显的问题,我这样做是为了学校相关的活动,我需要这种格式的输出,以便我们的另一个程序工作。

以下是如何使用嵌套字典理解:

d = {"username":{"0":"user","1":"user","2":"user"},
     "title":{"0":"Title","1":"asdfasdfasdf","2":"Bob"},
     "start":{"0":"2020-07-10","1":"2020-07-25","2":"2020-07-10"},
     "end":{"0":"2020-08-01","1":"2020-07-25","2":"2020-07-11"},
     "startTime":{"0":"2020-07-25T14:24","1":"2020-07-25T14:25","2":"2020-07-25T19:29"},
     "endTime":{"0":"2020-07-31T14:24","1":"2020-07-25T14:25","2":"2020-07-25T14:32"},
     "color":{"0":"#000000","1":"#000000","2":"#ff0000"}}

c = [{k:v for k,v in zip(d,i)} for i in zip(*[d[a].values() for a in d])]

print(c)
输出:

[{'username': 'user', 'title': 'Title', 'start': '2020-07-10', 'end': '2020-08-01', 'startTime': '2020-07-25T14:24', 'endTime': '2020-07-31T14:24', 'color': '#000000'},
 {'username': 'user', 'title': 'asdfasdfasdf', 'start': '2020-07-25', 'end': '2020-07-25', 'startTime': '2020-07-25T14:25', 'endTime': '2020-07-25T14:25', 'color': '#000000'},
 {'username': 'user', 'title': 'Bob', 'start': '2020-07-10', 'end': '2020-07-11', 'startTime': '2020-07-25T19:29', 'endTime': '2020-07-25T14:32', 'color': '#ff0000'}]

以下是如何使用嵌套词典:

d = {"username":{"0":"user","1":"user","2":"user"},
     "title":{"0":"Title","1":"asdfasdfasdf","2":"Bob"},
     "start":{"0":"2020-07-10","1":"2020-07-25","2":"2020-07-10"},
     "end":{"0":"2020-08-01","1":"2020-07-25","2":"2020-07-11"},
     "startTime":{"0":"2020-07-25T14:24","1":"2020-07-25T14:25","2":"2020-07-25T19:29"},
     "endTime":{"0":"2020-07-31T14:24","1":"2020-07-25T14:25","2":"2020-07-25T14:32"},
     "color":{"0":"#000000","1":"#000000","2":"#ff0000"}}

c = [{k:v for k,v in zip(d,i)} for i in zip(*[d[a].values() for a in d])]

print(c)
输出:

[{'username': 'user', 'title': 'Title', 'start': '2020-07-10', 'end': '2020-08-01', 'startTime': '2020-07-25T14:24', 'endTime': '2020-07-31T14:24', 'color': '#000000'},
 {'username': 'user', 'title': 'asdfasdfasdf', 'start': '2020-07-25', 'end': '2020-07-25', 'startTime': '2020-07-25T14:25', 'endTime': '2020-07-25T14:25', 'color': '#000000'},
 {'username': 'user', 'title': 'Bob', 'start': '2020-07-10', 'end': '2020-07-11', 'startTime': '2020-07-25T19:29', 'endTime': '2020-07-25T14:32', 'color': '#ff0000'}]
你也可以这样做:

import pandas as pd
d = pd.DataFrame(d).to_dict(orient='records')
print(d)

[{'username': 'user',
  'title': 'Title',
  'start': '2020-07-10',
  'end': '2020-08-01',
  'startTime': '2020-07-25T14:24',
  'endTime': '2020-07-31T14:24',
  'color': '#000000'},
 {'username': 'user',
  'title': 'asdfasdfasdf',
  'start': '2020-07-25',
  'end': '2020-07-25',
  'startTime': '2020-07-25T14:25',
  'endTime': '2020-07-25T14:25',
  'color': '#000000'},
 {'username': 'user',
  'title': 'Bob',
  'start': '2020-07-10',
  'end': '2020-07-11',
  'startTime': '2020-07-25T19:29',
  'endTime': '2020-07-25T14:32',
  'color': '#ff0000'}]
你也可以这样做:

import pandas as pd
d = pd.DataFrame(d).to_dict(orient='records')
print(d)

[{'username': 'user',
  'title': 'Title',
  'start': '2020-07-10',
  'end': '2020-08-01',
  'startTime': '2020-07-25T14:24',
  'endTime': '2020-07-31T14:24',
  'color': '#000000'},
 {'username': 'user',
  'title': 'asdfasdfasdf',
  'start': '2020-07-25',
  'end': '2020-07-25',
  'startTime': '2020-07-25T14:25',
  'endTime': '2020-07-25T14:25',
  'color': '#000000'},
 {'username': 'user',
  'title': 'Bob',
  'start': '2020-07-10',
  'end': '2020-07-11',
  'startTime': '2020-07-25T19:29',
  'endTime': '2020-07-25T14:32',
  'color': '#ff0000'}]

你能分享df.head().to_dict()和你用来搜索df的代码吗?当然,这是df.head().to_dict(){'username':{0:'user',1:'user',2:'user',3:'user',4:'user'},'title','title':{0:'title',1:'asdfasdfasdf',2:'Bob',3:'fdfdfdfdfdfdfdf',4:'asdfasadf',start''{0:'2020-07-10',1:'2020-07-25',2:'2020-07-10',3:'2020-07-02',4:'2020-07-25',结束:{0:'2020-08-01',1:'2020-07-25',2:'2020-07-11',3:'2020-07-15',4:'2020-07-26',开始时间:{0:'2020-07-07-25T14:24',1:'2020-07-07-25T14:25',2:'2020-07-07-07-25T19:29',3:'2020-07-07-07-25T14:41''{0:'2020-07-31T14:24',1:'2020-07-25T14:25',2:'2020-07-25T14:32',3:'2020-07-25T19:33',4:'2020-07-25T14:我用来搜索df的代码是
返回self.user_df.loc[self.user_df['username']==username,:]
多写几行代码可能会有帮助……但到目前为止,这行代码似乎返回的是一个数据帧,而不是一个字典……您在问题中发布的是df.to_dict()…请尝试:
df={key:list(vals.values())for key,vals in df.items()}
您能将df.head()共享给_dict()吗您用来搜索df的代码是什么?当然,这里是df.head()。to_dict(){'username':{0:'user',1:'user',2:'user',3:'user',4:'user'},'title':{0:'title',1:'asdfasdfasdf',2:'Bob',3:'fdfdfdfdfdfdfdfdfd',4:'asdfasdfsadf},'start','0:'2020-07-10',1:'2020-07-25',2:'2020-07-02',4:'2020-07-07-25',end''{0:'2020-08-01',1:'2020-07-25',2:'2020-07-11',3:'2020-07-15',4:'2020-07-26',开始时间:{0:'2020-07-25T14:24',1:'2020-07-25T14:25',2:'2020-07-25T19:29',3:'2020-07-25T14:33',4:'2020-07-25T14:41',结束时间:'{0:'2020-07-31T14:24',1:'2020-07-25T14:25',2:'2020-07-25T14:32',3:'2020-07-25T19:33',4:'2020-07-25T14:我用来搜索df的代码是
返回self.user_df.loc[self.user_df['username']==username,:]
多写几行代码可能会有帮助……但到目前为止,这行代码似乎返回的是一个数据帧,而不是一个字典……您在问题中发布的是df.to_dict()…请尝试:
df={key:list(vals.values())for key,vals in df.items()}