前提・実現したいこと
coingeckoという仮想通貨関連サイトのAPIより以下のデータを抽出しました。
しかしながら、複数の情報が一つの文字列にまとまっているため、データを整理したいと考えております。具体的には、prices列のデータを二つに分け、データフレームへ新しいカラムとして追加したいです。
prices列の0行目のデータ[1630540910867, 22.60606751389419]を例にとって、1630540910867をカラム名Unixtimeとして、22.60606751389419をカラム名pricesとしてデータを整形したいです。
発生している問題・エラーメッセージ
実際に、以下の方法でデータ抽出を試みましたが、文字がNaNとなってしまいます。
どうすれば数字として表示されるのでしょうか。ご教示よろしくお願いいたします。
【解決案】
df['prices'].str.extract('(163\d{10})',expand=True)
↓
df['prices'].str[0]
へ変更
解釈は、文字列の最初のデータを抽出するということ。
エラーメッセージ
該当のソースコード
#python pandas
import requests
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
URL='https://api.coingecko.com/api/v3/coins/wing-finance/market_chart/range'
params={
'id':'wing-finance',
'vs_currency':'usd',
'from': '1630540799',
'to':'1638316799'
}
res=requests.get(URL, params)
result=res.json()
df=pd.DataFrame(result)
df['Unixtime']=df['prices'].str.extract('(163\d{10})',expand=True)
↓
df['Unixtime']=df['prices'].str[0]
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー