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

假设我有这个字典(使用 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?

多谢!


跃然一笑
浏览 99回答 3
3回答

慕运维8079593

使用是pd.Timestamp因为我们的字典键类型pd.Timestamp不是str.import pandas as pdd[pd.Timestamp('2020-06-30 00:00:00')]["intangibleAssets"]295

qq_花开花谢_0

下面的函数是通用的,可以应用于任意数量的字典。获取钥匙: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}

宝慕林4294392

由于您使用的是 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']df295或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]df295
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python