Python 如何使用dataframe从列表中提取值?

Python 如何使用dataframe从列表中提取值?,python,pandas,dataframe,matplotlib,jupyter-notebook,Python,Pandas,Dataframe,Matplotlib,Jupyter Notebook,但我只需要从细节中提取数值 当我使用以下代码时: for i in range(1, len(data)): currentItem = data[i] df.loc[i] = [data[i]['details']] df # Till here its working as I can extract the data. 它显示了一个错误: df = pd.DataFrame(data['details']) number_list = df['number'].to

但我只需要从细节中提取数值

当我使用以下代码时:

for i in range(1, len(data)):
    currentItem = data[i]
  
    df.loc[i] = [data[i]['details']]
df
# Till here its working as I can extract the data.
它显示了一个错误:

df = pd.DataFrame(data['details'])
number_list = df['number'].tolist() #list with numbers
TypeError回溯(最近一次调用)
在里面
4 df
5.
---->6 df=pd.DataFrame(数据['details'])
7 number_list=df['number'].tolist()#带数字的列表
TypeError:列表索引必须是整数或片,而不是str
这就是我的数据的样子


您可以通过在数字系列上调用apply来完成此操作。下面的代码将创建一个新列

TypeError                                 Traceback (most recent call last)
<ipython-input-126-81553db4d7eb> in <module>
      4 df
      5 
----> 6 df = pd.DataFrame(data['details'])
      7 number_list = df['number'].tolist() #list with numbers

TypeError: list indices must be integers or slices, not str
您还可以通过常规的python循环理解来实现这一点

df['extracted_number'] = df.details.apply(lambda x: x['number'])
副本的这一部分解释了如何处理数据,这是一列字符串,必须在规范化之前转换为dict。请不要再次发布相同的问题。
number_list = [x['number'] for x in df.details]