从列表中只将指定的列传递到Pandas数据框架。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从列表中只将指定的列传递到Pandas数据框架。相关的知识,希望对你有一定的参考价值。
在Python中我有以下列表
myList = [datetime.datetime(2020, 5, 16, 0, 15), '9387.95000000', '9418.96000000', '9386.22000000', '9406.76000000', '138.33460500', 1589581199999, '1300408.00793448', 2156, '88.84298900', '835174.15438128', '0'], [datetime.datetime(2020, 5, 16, 0, 20), '9407.03000000', '9437.65000000', '9405.96000000', '9429.36000000', '190.78911000', 1589581499999, '1797685.31006086', 2454, '100.00883200', '942460.13231483', '0', ...]
我试图用它来创建一个Pandas数据框架,以下是我的尝试。
df = pd.DataFrame(Result, columns=['Date', 'Open', 'High', 'Low', 'Close', 'Volume'])
这将给我以下错误。
AssertionError: 6 columns passed, passed data had 12 columns
我怎样才能只把列表中的前6个元素传给数据框架,这样我就不会出现这个错误了?先谢谢你
答案
在列表理解中过滤前6个值。
df = pd.DataFrame([x[:6] for x in myList],
columns=['Date', 'Open', 'High', 'Low', 'Close', 'Volume'])
print (df)
Date Open High Low
0 2020-05-16 00:15:00 9387.95000000 9418.96000000 9386.22000000
1 2020-05-16 00:20:00 9407.03000000 9437.65000000 9405.96000000
Close Volume
0 9406.76000000 138.33460500
1 9429.36000000 190.78911000
以上是关于从列表中只将指定的列传递到Pandas数据框架。的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以扩展包含列表的 pandas Dataframe 中的列并从列表值本身中获取列名?
Django:从 Pandas 到 Django Rest 框架的模型查询集