假设我们有以下元组
S=({'country':[('India')],'state':[('Telangana')],'city':[('Hyderabad'),('Vizag')]}, {'date':[{'year': 2021, 'month':10}]})
<class 'tuple'>
我们可以将其转换为数据帧并将日期部分转换为变量吗
df = key value
country India
state Telangana
city Hyderabad
city Vizag
Date = {'date':[{'year': 2021, 'month':10}]}
我试过 pd.DataFrame(json.loads(json.dumps(s))) 但它不干净
答案 0 :(得分:1)
pd.Series(S[0]).explode()
结果:
country India
state Telangana
city Hyderabad
city Vizag
dtype: object
如果你需要一个数据框,你可以使用:
df = pd.DataFrame(pd.Series(S[0]).explode().reset_index().values, columns=['key', 'value'])
结果:
print(df)
key value
0 country India
1 state Telangana
2 city Hyderabad
3 city Vizag
Date
的第二部分,您可以使用:Date = S[1]
结果:
print(Date)
{'date': [{'year': 2021, 'month': 10}]}
答案 1 :(得分:0)
对于 Date
部分,您可以尝试
Date = S[1]
print(Date)
{'date': [{'year': 2021, 'month': 10}]}
至于问题的第一部分,您可能会发现以下代码并不完美,但可以轻松对其进行编辑以完美匹配所需的输出。
df = pd.DataFrame(
{k:pd.Series(v) for k, v in dict(S[0]).items()}
).transpose()
print(df)
0 1
country India NaN
state Telangana NaN
city Hyderabad Vizag
有关详细信息,请参阅this post