将系列转换为python中的列表

时间:2019-02-14 08:51:13

标签: python pandas list

这是我的s,第一列是我的INDEX(我将索引替换为column)而不是column,第二列是column

s =              value
      time            
12-3 19:60:00   0.42724
22-4 20:30:00   0.58799
52-4 21:50:00   0.64879
62-5 22:10:00   0.64090
62-4 23:20:00   0.75934
s

类型是pandas.core.series.Series,现在我想将其转换为这样的列表-:

[['12-3 19:60:00', 0.42724],
['22-4 20:30:00', 0.58799],
['52-4 21:50:00', 0.64879],
['62-5 22:10:00', 0.64090],
['62-4 23:20:00', 0.75934]]`

我已经做到了,但是没有直接将它转换成Dataframe,然后应用了this-:

s.reset_index().values.tolist()

如果我直接将其转换,则结果如下:

 [[Timestamp('12-3 19:60:00'), 0.42724],
 [Timestamp('22-4 20:30:00'), 0.58799]...]

1 个答案:

答案 0 :(得分:1)

首先将索引转换为Series:

s.index = s.index.astype(str)
L = s.reset_index().values.tolist()

或者如果不需要修改Series的索引:

L = s.rename_axis('a').reset_index().assign(a = lambda x: x.a.astype(str)).values.tolist()

示例

print (s)
time
2015-12-03 19:40:00    0.42724
2015-04-22 20:30:00    0.58799
Name: value, dtype: float64

s.index = s.index.astype(str)
L = s.reset_index().values.tolist()
print (L)
[['2015-12-03 19:40:00', 0.42723999999999995], ['2015-04-22 20:30:00', 0.58799]]

L = s.rename_axis('a').reset_index().assign(a = lambda x: x.a.astype(str)).values.tolist()
print (L)
[['2015-12-03 19:40:00', 0.42723999999999995], ['2015-04-22 20:30:00', 0.58799]]