将数据框列中的整数转换为列表

时间:2018-04-12 16:45:29

标签: python list pandas dataframe

我有一个带有整数值列的pandas数据框,但我似乎无法弄清楚如何将这些值放入列中。

例如,

use_template

谢谢。

3 个答案:

答案 0 :(得分:4)

numpy解决方案

df['Num']=df.NUMBERS.values[:,None].tolist()
df
Out[322]: 
   NUMBERS  Num
0        1  [1]
1        2  [2]
2        3  [3]
3        4  [4]
4        5  [5]

答案 1 :(得分:3)

这是一种方式。

extract (year, current_date).  

但是,除非你有一个非常具体的理由,否则不鼓励这样做,因为你失去了df['NUMBERS'] = df['NUMBERS'].apply(lambda x: [x]) 的矢量化优势。

当您的值为pandas时控制行为:

np.nan

答案 2 :(得分:1)

你也可以这样做:

阵列

df["NUMBERS"].values.reshape(5,1),会给你

array([[1],
       [2],
       [3],
       [4],
       [5]])

这将是一个数组,它将保持pandas的矢量化效益。

列表清单

或者要获取列表列表,您可以这样做:

[[x] for x in df["NUMBERS"]]

会给: [[1], [2], [3], [4], [5]]

列表的DF

正如@piRSquared建议的那样,你可以这样做: df.assign(Numbers=df.Numbers.values.reshape(-1, 1).tolist())

哪个会返回另一个DF,每个值都作为列表:

  Numbers
0     [1]
1     [2]
2     [3]
3     [4]
4     [5]