我们有这样的功能:
def get_prices():
prices = pd.read_json("https://api.binance.com/api/v1/ticker/allPrices")
prices_df = pd.DataFrame(prices)
prices_df["Asset"] = "??"
prices_df["Quote"] = prices_df["symbol"].str.extract(r"(USDT|BTC|ETH|BNB)$")
return prices_df
返回以下内容:
price symbol Asset Quote
0 0.0578730 ETHBTC ?? BTC
1 0.0105800 LTCUSDT ?? USDT
2 0.0019219 NBBTC ?? BTC
3 0.0038840 NEOBNB ?? BNB
4 0.0157500 QTUMETH ?? ETH
这里的"symbol“是由"Asset"+"Quote”组成的一对,没有任何分隔,每个符号可以有不同的长度。但我们知道报价符号只能是4个:"USDT“、"BTC”、"ETH“、"BNB”。
我们如何定义数据帧中的"Asset“列?
发布于 2018-08-06 01:23:50
给定所有可能后缀的列表,您可以使用正则表达式来提取前缀:
pattern = '(\w+)(USDT|BTC|ETH|BNB)$'
df[['Asset','Quote']] = df['symbol'].str.extract(pattern)
https://stackoverflow.com/questions/51696579
复制相似问题