我有一个数据框,是在执行某些操作后获得的。这就是我的数据框的样子
date metric stat val device
0 2018-03-21 cpu mean 76.724406 10.41.100.1
3 2018-03-21 cpu std 124.285789 10.41.100.1
现在我想将其转换为存储在列表中的字符串列表,如下所示
lis = [["2018-03-21", "cpu", "mean", "76.724406", "10.41.100.1"],
["2018-03-21", "cpu", "mean", "124.285789", "10.41.100.1"]]
我做了这样的事情
for i in df:
print(df[i].tolist())
但是我得到了这样的东西
[Timestamp('2018-03-21 00:00:00'), Timestamp('2018-03-21 00:00:00')]
['cpu', 'cpu']
['mean', 'std']
[76.72440613174048, 124.28578926665278]
['10.41.100.1', '10.41.100.1']
但我希望格式像上面提到的那样。我怎样才能做到这一点?
最佳答案
我认为需要astype
首先对于 string
,然后通过 values
将 DataFrame
转换为 numpy array
最后进行 list
调用 numpy.ndarray.tolist
:
lis = df.astype(str).values.tolist()
print (lis)
[['2018-03-21', 'cpu', 'mean', '76.724406', '10.41.100.1'],
['2018-03-21', 'cpu', 'std', '124.285789', '10.41.100.1']]
关于python - 如何获取 pandas 数据框的字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49978682/