以下是數據示例。如何分離包含列表的熊貓元素
data['nxt'].head()
Out[47]:
market_cap_by_available_supply price_btc price_usd volume_usd
0 [1386136000000, 15091900] [1386136000000, 1.3982e-05] [1386136000000, 0.0150919] [1386136000000, 0.0]
1 [1386222394000, 14936300] [1386222394000, 1.31922e-05] [1386222394000, 0.0149363] [1386222394000, 0.0]
2 [1386308781000, 11237100] [1386308781000, 1.12001e-05] [1386308781000, 0.0112371] [1386308781000, 0.0]
3 [1386395502000, 7031430] [1386395502000, 9.6644e-06] [1386395502000, 0.00703143] [1386395502000, 0.0]
4 [1386481920000, 6292640] [1386481920000, 8.82299e-06] [1386481920000, 0.00629264] [1386481920000, 0.0]
我只關心:market_cap_by_available_supply
data['nxt'].market_cap_by_available_supply
0 [1386136000000, 15091900]
1 [1386222394000, 14936300]
2 [1386308781000, 11237100]
3 [1386395502000, 7031430]
4 [1386481920000, 6292640]
這個職位的目的是:我們如何能夠單獨這爲兩列:時間戳和Marketcap?
但是我在這裏的最終目標是(使用下面的代碼)
創建包含dashcoin marketcaps和時間戳一個新的數據幀,然後依次添加對應於Dash的時間戳其他硬幣的marketcaps,任何幫助,這將是巨大的。
import numpy as np
from pandas import Series, DataFrame
import pandas as pd
coins = ['dashcoin','litecoin','dogecoin','nxt']
API = 'https://api.coinmarketcap.com/v1/datapoints/'
data = {}
for coin in coins:
data[coin]=(pd.read_json(API + coin))
MC_data = pd.DataFrame(columns=[['Timestamp']+coins])
編輯:
我使用循環稍後我會加入many'coins'。 @timmy,提取時間戳和上限的方法很好,但我無法使合併方法正常工作。
data2 = {}
for coin in coins:
#seperates timestamp and marketcap from their respective list inside each element
TS = data[coin].market_cap_by_available_supply.map(lambda r: r[0])
cap = data[coin].market_cap_by_available_supply.map(lambda r: r[1])
#Creates DataFrame and stores timestamp and marketcap data into dictionairy
df = DataFrame(columns=['timestamp','cap'])
df.timestamp = TS
df.cap = cap
data2[coin] = df
for coin in coins:
data2['merged'] = data2['merged'].merge(data[coin], on='timestamp', how='outer')
KeyError: 'merged'
我我的回答對您解決最近的問題的更新。這個問題是一個事實,即你想(在循環中的第一次迭代沒有什麼'數據2 [「合併」]')與沒有合併的第一個硬幣數據幀 – TimmyCarbone