我有这个数据帧:
value
time
2016-12-01 00:00:00 NaN
2016-12-01 00:01:00 2
2016-12-01 00:02:00 1
Run Code Online (Sandbox Code Playgroud)
我想将此数据帧转换为列表列表,喜欢这样:
[['2016-12-01 00:00:00', NaN],['2016-12-01 00:01:00', 2],['2016-12-01 00:02:00', 1]]
Run Code Online (Sandbox Code Playgroud)
我尝试过df.values或者df.values.tolist()总是收到:
[[ nan]
[ 2]
[ 1]]
Run Code Online (Sandbox Code Playgroud)
EdC*_*ica 10
如果您调用reset_index恢复索引,则可以调用.values.tolist()以获得所需的结果:
In [117]:
df.reset_index().values.tolist()
Out[117]:
[['2016-12-01 00:00:00', nan],
['2016-12-01 00:01:00', 2.0],
['2016-12-01 00:02:00', 1.0]]
Run Code Online (Sandbox Code Playgroud)
values返回一个numpy数组,它有一个tolist()转换为列表列表的方法
需要DataFrame.reset_index第一,DataFrame.values回报numpy array和tolist()其转换为nested list:
print (df.index)
Index(['2016-12-01 00:00:00', '2016-12-01 00:01:00', '2016-12-01 00:02:00'],
dtype='object', name='time')
print (df.reset_index().values.tolist())
[['2016-12-01 00:00:00', nan], ['2016-12-01 00:01:00', 2.0], ['2016-12-01 00:02:00', 1.0]]
Run Code Online (Sandbox Code Playgroud)
但是,如果DatetimeIndex有必要转换index到string通过astype:
print (df.index)
DatetimeIndex(['2016-12-01 00:00:00', '2016-12-01 00:01:00',
'2016-12-01 00:02:00'],
dtype='datetime64[ns]', name='time', freq=None)
print (df.reset_index().values.tolist())
[[Timestamp('2016-12-01 00:00:00'), nan],
[Timestamp('2016-12-01 00:01:00'), 2.0],
[Timestamp('2016-12-01 00:02:00'), 1.0]]
df.index = df.index.astype(str)
print (df.reset_index().values.tolist())
[['2016-12-01 00:00:00', nan], ['2016-12-01 00:01:00', 2.0], ['2016-12-01 00:02:00', 1.0]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5130 次 |
| 最近记录: |