为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用列中的 np 数组条目创建熊猫/泡菜数据集

如何使用列中的 np 数组条目创建熊猫/泡菜数据集

catspeake 2021-06-14 22:09:08
我在 python 中有一个字典列表,其中包含浮点数和 np 数组的值。我想将它保存在熊猫数据框中,以便我可以为给定的一组参数绘制 xarr, yarr 。dic1 = {'p1':1, 'p2': 34, 'xarr' : np.array([1,2,3]) , 'yarr': np.array([4,4,6])}dic2 = {'p1':2, 'p2': 45 ,'xarr' : np.array([1,2,3]) , 'yarr': np.array([6,6,4])}listdic = [dic1, dic2]df = pd.DataFrame(listdic)dfplot= df[df['p1'] > 1]x, y = dfplot['xarr'], dfplot['yarr']plt.plot(x, y)但我收到这个错误ValueError: setting an array element with a sequence.因为我也得到了熊猫 df 的索引。有没有一种有效的方法来做到这一点?
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

dataframe您创建的结果如下所示:

//img1.sycdn.imooc.com//60c99c3800018a9b07580309.jpg

当您要求: 时x, y = dfplot['xarr'], dfplot['yarr'],您要求的是列xarr&的内容,yarr它们都包含列表。因此,对于他们中的每一个,您都会得到一系列列表。

亲眼看看:
type(x)结果:

pandas.core.series.Series

您可以使用iloc访问系列内容:

idx = 0
x = x_series.iloc[idx]

在您的示例中,您只有 1 条记录,因此您可以简单地使用:

import matplotlib.pyplot as plt

import pandas as pd

import numpy as np

dic1 = {'p1':1, 'p2': 34, 'xarr' : np.array([1,2,3]) , 'yarr': np.array([4,4,6])}

dic2 = {'p1':2, 'p2': 45 ,'xarr' : np.array([1,2,3]) , 'yarr': np.array([6,6,4])}

listdic = [dic1, dic2]

df = pd.DataFrame(listdic)

dfplot= df[df['p1'] > 1]

x_series, y_series = dfplot['xarr'], dfplot['yarr']

x,y = x_series.iloc[0], y_series.iloc[0]

plt.plot(x, y)


查看完整回答
反对 回复 2021-06-16
  • 1 回答
  • 0 关注
  • 191 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信