Python 如何将数据帧中的值更改为值列表?

Python 如何将数据帧中的值更改为值列表?,python,pandas,Python,Pandas,我正在使用Plotly创建饼图,我需要获取饼图的值。例如,我有一个数据框,看起来像这样: df = pd.DataFrame(np.array([[1, 2, 3]]), columns=['a', 'b', 'c']) 它将给出如下结果: a b c 0 1 2 3 我试图从b到c获取第0行的值,应该是: [2, 3] 我怎样才能做到这一点?到目前为止,我试过: df[['b', 'c']].values.tolist() 它给出了: [[2,

我正在使用Plotly创建饼图,我需要获取饼图的值。例如,我有一个数据框,看起来像这样:

df = pd.DataFrame(np.array([[1, 2, 3]]),
                   columns=['a', 'b', 'c'])
它将给出如下结果:

  a b c
0 1 2 3
我试图从b到c获取第0行的值,应该是:

[2, 3]
我怎样才能做到这一点?到目前为止,我试过:

df[['b', 'c']].values.tolist()
它给出了:

[[2, 3]]

和以上不适用于绘图值…

df.iloc[0]['b','c']].\u list()或者您可以调用所选系列的列表
list(df.iloc[0][['b','c']])
找到索引标签,提取值并转换为list


类似这样:
df.loc[0,['b','c']]。不建议使用tolist()

,文档中也提到了它。改为使用
df.iloc[0]。to_numpy()
我得到一个关键错误
KeyError:0
。你可以阅读更多关于这个@Ch3steR OP的内容并检查它是第0行,因此它是
iloc
to_list
只是
tolist
的别名,而
df.iloc[0]['b',c']
应该是
df.iloc[0][['b',c'].
,你能解释一下为什么不推荐它吗?我提到了上面评论中的链接,我从来没有提到过
到列表的任何内容,我知道它是一个别名。是的,我理解它有误导性(删除了它)。;)正确的做法是
df.iloc[0,['b',c'].
而不是
df.iloc[0]['b','c']
(不推荐)。您共享的链接用于将新值分配到数据帧中,在该链接中,它显示链接分配有时无法正常工作,因为链的一部分可以返回副本,因此原始df不会被修改,但OP在此询问的问题是只访问未分配的值。