我正在从一个公共API获取数据,并将其转换成一个基本上来自美国地震网站的熊猫数据框架。我得到了JSON表单数据,实际上是嵌套字典的列表。我使用了一种方法,并将其转换为dataframe,它的格式为class'pandas.core.frame.dataframe'。现在,当我试图拆分坐标列时,我得到了NaN或其他问题。该系列的形式为“pandas.core.series.series”类
这是我的密码-
import urllib.request, json
import pandas as pd
url = "https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2016-10-01&endtime=2016-10-02"
response = urllib.request.urlopen(url)
data = json.loads(response.read())
y=data['features']
o=[]
for d in y:
d.update(d.pop('geometry', {}))
for i in y:
i.update(i.pop('properties', {}))
#print(y)
df1=pd.DataFrame(y)
print(type(df1))
df1=df1.drop(['alert','cdi','detail','felt','id','ids','mmi','net','sources','updated','url'],axis=1)
print(type(df1['coordinates']))
display(df1)
我试过使用str.split,Pandas.Series.str.split,slitt
在
coordinates
中,您有一个包含3个值的列表,而不是字符串您可以使用
apply()
和lambda
从每个列表中获取一个值,然后您可以使用这些值创建列您还可以将所有值转换为3个系列并分配到3个新列
在这两种情况下,结果都是
相关问题 更多 >
编程相关推荐