将数据框列中的值附加到列表

Jav*_*más 10 python list append pandas

我有一个包含多列的数据框,我想将一列的值附加到一个空列表中,以便所需的输出如下:

empty_list = [value_1,value_2,value_3...]
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

df = pd.DataFrame({'country':['a','b','c','d'],
      'gdp':[1,2,3,4],
      'iso':['x','y','z','w']})
a_list = []

a_list.append(df['iso'])
a_list.append(df['iso'].values)
a_list.append(df['iso'].tolist())
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,我都会得到一个包含列表、numpy 数组或系列的列表,我想直接获取记录。

jez*_*ael 17

如果您只需要附加一列,您可以试试这个脚本:

a_list = df['iso'].tolist()
Run Code Online (Sandbox Code Playgroud)

要通过添加可迭代元素来扩展列表,请使用extend

a_list = []
a_list.extend(df['iso'].tolist())
a_list.extend(df['country'].tolist())
print (a_list)
['x', 'y', 'z', 'w', 'a', 'b', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)

另一种解决方案是numpy.ravel与转置一起使用:

a_list = df[['iso','country']].values.T.ravel().tolist()
print (a_list)
['x', 'y', 'z', 'w', 'a', 'b', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)