首页 > 解决方案 > 在 Python3 上使用 Pandas 未对齐数据框

问题描述

我有一个data我试图存储在pandasdataFrame 中的文件。但是,它以一种奇怪的方式出现。我知道我做错了什么

有人可以帮我找出问题所在。

代码

root@optstra:~# cat pandas_1.py
import pandas as pd
import numpy as np

numberOfRows = 1

SYMBOL = 'ABB'
volume_increasing = True
price_increase = True
OI_CHANGE = True
closedAboveYesterday = False
Above_22SMA = False

data_frame = pd.DataFrame(index=np.arange(0, numberOfRows), columns=('SYMBOL','Volume', 'Price', 'OI','OHLC','22SMA') )

for x in range(0,numberOfRows):
    data_frame.loc[x] = [{SYMBOL,volume_increasing,price_increase,OI_CHANGE,closedAboveYesterday,Above_22SMA} for n in range(6)]

print(data_frame)

输出

root@optstra:~# python3 pandas_1.py
               SYMBOL              Volume               Price                  OI                OHLC               22SMA
0  {False, True, ABB}  {False, True, ABB}  {False, True, ABB}  {False, True, ABB}  {False, True, ABB}  {False, True, ABB}

如果我更改将数据写入数据帧的行如下

for x in range(0,numberOfRows):
    data_frame.loc[x] = [(SYMBOL,volume_increasing,price_increase,OI_CHANGE,closedAboveYesterday,Above_22SMA) for n in range(6)]

输出更改为

root@optstra:~# python3 pandas_1.py
                                  SYMBOL                  ...                                                    22SMA
0  (ABB, True, True, True, False, False)                  ...                    (ABB, True, True, True, False, False)

标签: pythonpandas

解决方案


你为什么不试试这个——不确定它是否正是你正在寻找的东西,因为你在编辑中拿出了那部分:

for x in range(0,numberOfRows):
    data_frame.loc[x] = [SYMBOL,volume_increasing,price_increase,OI_CHANGE,closedAboveYesterday,Above_22SMA]

输出:

  SYMBOL Volume Price    OI   OHLC  22SMA
0    ABB   True  True  True  False  False

推荐阅读