【问题标题】:How can I sort timestamp from following data dictionary?如何从以下数据字典中对时间戳进行排序?
【发布时间】:2022-01-07 12:18:17
【问题描述】:

代码:

import pandas as pd
from pycoingecko import CoinGeckoAPI
c=CoinGeckoAPI()
bdata=c.get_coin_market_chart_by_id(id='bitcoin',vs_currency='usd',days=30)
data_=pd.DataFrame(bdata)
print(data_)
data=pd.to_datetime(data_[prices],unit='ms')
print(data)

输出:

要求:
但我需要输出其中 4 列:
时间戳、价格、Market_caps、Total_volume
我想将时间戳格式更改为 to_datetime 在上面的代码中,我只是对 pycoingecko 中的比特币数据进行排序

示例:

【问题讨论】:

标签: python python-3.x pandas dataframe python-requests


【解决方案1】:

您可以提取时间戳列并将其转换为日期,如下所示,只需对您的代码进行最少的更改,您可以通过将新列合并到您的数组来跟进:

import pandas as pd
from pycoingecko import CoinGeckoAPI
c=CoinGeckoAPI()
bdata=c.get_coin_market_chart_by_id(id='bitcoin',vs_currency='usd',days=30)
data_=pd.DataFrame(bdata)
print(data_)
#data=pd.to_datetime(data_["prices"],unit='ms')
df = pd.DataFrame([pd.Series(x) for x in data_["prices"]])

df.columns = ["timestamp","data"]
df=pd.to_datetime(df["timestamp"],unit='ms')
print(df)

【讨论】:

    【解决方案2】:

    你可以把它转换成这样的数据框格式:

    import pandas as pd
    from pycoingecko import CoinGeckoAPI
    c=CoinGeckoAPI()
    bdata=c.get_coin_market_chart_by_id(id='bitcoin',vs_currency='usd',days=30)
    prices = pd.DataFrame(bdata['prices'], columns=['TimeStamp', 'Price']).set_index('TimeStamp')
    market_caps = pd.DataFrame(bdata['market_caps'], columns=['TimeStamp', 'Market Cap']).set_index('TimeStamp')
    total_volumes = pd.DataFrame(bdata['total_volumes'], columns=['TimeStamp', 'Total Volumes']).set_index('TimeStamp')
    
    # combine the separate dataframes
    df_market = pd.concat([prices, market_caps, total_volumes], axis=1)
    
    # convert the index to a datetime dtype
    df_market.index = pd.to_datetime(df_market.index, unit='ms')
    

    代码改编自this answer

    【讨论】:

      猜你喜欢
      • 2014-05-01
      • 2019-01-20
      • 2021-03-16
      • 2020-11-11
      • 2018-08-09
      • 2020-01-06
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多