用pandas过滤和排序数据

2024-10-03 13:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从API获取部分信息,但我不知道如何过滤数据(我只想获取选定的值,如果键不包含“BTC”字符串,则不获取值) 我正试着做这样的事情:

{"BTC_MINT":{"volume":11.00, "high24":0.002, "low24":0.001},
 "BTC_NOTE":{"volume":11.00, "high24":0.002, "low24":0.001}}

我从熊猫开始,但我不知道这是不是合适的方式。在

^{pr2}$

不幸的是,这个代码不起作用。我得到以下错误:

[cur, last, volume, high24, low24] for cur, d, x, w, d, q in data.items() for last, x, x, x, volume, x, x, high24, low24 in d.items()
ValueError: need more than 2 values to unpack

有人能帮忙告诉我该怎么做吗?在


Tags: 数据字符串inapi信息foritems事情
2条回答

你可以把你的字典(数据)传给pd.数据帧创建熊猫数据帧。如果要将其子集化为只包含字符串BTC的列,可以执行以下操作:

df = pd.DataFrame(data)
new_cols = [x for x in df.columns if x.find('BTC') > -1]
new_df = df[new_cols]
df = pd.DataFrame({symbol: {"baseVolume": data[symbol].get("baseVolume"), 
                            "high24hr": data[symbol].get("high24hr"), 
                            "low24hr": data[symbol].get("low24hr")} 
                   for symbol in data}).T
>>> df.head()
          baseVolume    high24hr     low24hr
BTC_1CR   0.00000000  0.00000000  0.00000000
BTC_ABY   0.01968682  0.00000020  0.00000019
BTC_ADN   0.00000000  0.00000000  0.00000000
BTC_ARCH  0.07205024  0.00004813  0.00004693
BTC_BBR   0.19846259  0.00002123  0.00002115

要只获取索引中以BTC开头的名称,请执行以下操作:

^{pr2}$

相关问题 更多 >