为了账号安全,请及时绑定邮箱和手机立即绑定

从“时间戳”标记的字典中提取值

从“时间戳”标记的字典中提取值

跃然一笑 2023-08-08 10:16:58
假设我有这个字典(使用 pandas 时间戳):d = {Timestamp('2020-06-30 00:00:00'): {'intangibleAssets': 295, 'capitalSurplus': 415},Timestamp('2020-03-30 00:00:00'): {'intangibleAssets': 400, 'capitalSurplus': 50}}我如何提取单个值,例如位于 d["Timestamp('2020-06-30 00:00:00')"]["intangibleAssets"] 中的 295?多谢!
查看完整描述

3 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

使用是pd.Timestamp因为我们的字典键类型pd.Timestamp不是str.


import pandas as pd

d[pd.Timestamp('2020-06-30 00:00:00')]["intangibleAssets"]

295


查看完整回答
反对 回复 2023-08-08
?
qq_花开花谢_0

TA贡献1835条经验 获得超6个赞

下面的函数是通用的,可以应用于任意数量的字典。
获取钥匙:

def matchingKeys(dictionary, searchString):
    return [key for key,val in dictionary if searchString in val]

要获取值:

def matchingValues(dictionary, searchString):
    return [val for key,val in dictionary if searchString in val]

要同时获得:

def matchingElements(dictionary, searchString):
    return {key:val for key,val in dictionary if searchString in val}


查看完整回答
反对 回复 2023-08-08
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

由于您使用的是 pandas,因此您可以转换为数据框并使用loc或.iloc传递您感兴趣的行和列:


与.loc:


d = {'2020-06-30 00:00:00': {'intangibleAssets': 295, 'capitalSurplus': 415},'2020-03-30 00:00:00': {'intangibleAssets': 400, 'capitalSurplus': 50}}

df = pd.DataFrame(d).loc['intangibleAssets','2020-06-30 00:00:00']

df

295

或iloc:


d = {'2020-06-30 00:00:00': {'intangibleAssets': 295, 'capitalSurplus': 415},'2020-03-30 00:00:00': {'intangibleAssets': 400, 'capitalSurplus': 50}}

df = pd.DataFrame(d).iloc[0,0]

df

295


查看完整回答
反对 回复 2023-08-08
  • 3 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信