Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas-数据帧中的列数据相乘_Python_Pandas - Fatal编程技术网

Python Pandas-数据帧中的列数据相乘

Python Pandas-数据帧中的列数据相乘,python,pandas,Python,Pandas,我们有一个加密货币投资组合示例,希望将每个硬币余额转换为美元,并以美元获得投资组合的总价值 守则: # Assets to convert assets_to_convert = [{'Asset': 'BTC', 'Bal': 0.5}, {'Asset': 'IOTX', 'Bal': 4}, {'Asset': 'QKC', 'Bal': 3}, {'Asset'

我们有一个加密货币投资组合示例,希望将每个硬币余额转换为美元,并以美元获得投资组合的总价值

守则:

# Assets to convert
assets_to_convert =  [{'Asset': 'BTC', 'Bal': 0.5}, 
                    {'Asset': 'IOTX', 'Bal': 4}, 
                    {'Asset': 'QKC', 'Bal': 3}, 
                    {'Asset': 'AGI', 'Bal': 9}, 
                    {'Asset': 'NXS', 'Bal': 2}, 
                    {'Asset': 'DATA', 'Bal': 4}, 
                    {'Asset': 'SC', 'Bal': 5}, 
                    {'Asset': 'NPXS', 'Bal': 9}]

assets_to_convert = pd.DataFrame(assets_to_convert)

# All Pairs Prices
prices = pd.read_json("https://api.binance.com/api/v1/ticker/allPrices")
prices = pd.DataFrame(prices)
pattern = r"(\w+)(USDT|BTC|ETH|BNB)$"
prices[["Asset","Quote"]] = prices["symbol"].str.extract(pattern) 
BTCUSDT_price  = float(prices.price[prices.symbol == "BTCUSDT"])  

# Dataframes Merged
merged = pd.merge(assets_to_convert,prices, on="Asset")
merged["USD_bal"] = "??"

print(merged.head())
合并表将返回以下内容:

  Asset  Bal          price   symbol Quote USD_bal
0   BTC  0.5  6328.29000000  BTCUSDT  USDT      ??
1  IOTX  4.0     0.00000227  IOTXBTC   BTC      ??
2  IOTX  4.0     0.00003986  IOTXETH   ETH      ??
3   QKC  3.0     0.00000637   QKCBTC   BTC      ??
4   QKC  3.0     0.00011241   QKCETH   ETH      ??
资产硬币可以通过Quote==“BTC”过滤并获得“价格”列转换为BTC。 美元换算为:“余额”*“价格”*“BTCUSDT\U价格”

我们怎么做


(如果合并和过滤数据帧不是正确的方法,请建议一种正确的方法。)

根据您的公式,简单地将价格乘以Bal再乘以比特币价格有什么错

merged['USD_bal'] = merged.price * merged.Bal * merged.iloc[0].price

根据你的公式,简单地将价格乘以Bal再乘以比特币的价格有什么错

merged['USD_bal'] = merged.price * merged.Bal * merged.iloc[0].price

谢谢我按BTC筛选并使用了您的行:merged=merged.loc[merged[“Quote”]=“BTC”]merged[“USD\u bal”]=merged.price*merged.bal*BTCUSDT\u price,但BTC资产被忽略,因为它没有与BTC Quote的一对。你知道怎么处理吗?为什么不把它放在一个特殊的情况下处理,并单独附加,因为它是美元,这是实际价格?谢谢。我按BTC筛选并使用了您的行:merged=merged.loc[merged[“Quote”]=“BTC”]merged[“USD\u bal”]=merged.price*merged.bal*BTCUSDT\u price,但BTC资产被忽略,因为它没有与BTC Quote的一对。你知道怎么处理吗?为什么不在特殊情况下处理它并单独附加,因为它的实际价格是美元/美元?