Столбцы DataFrame удаляются при вставке данных - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь создать DataFrame с 3 столбцами, но по какой-то причине - добавляется только один столбец:

# Create a new DataFrame from our transformed data
stock_incident_df = pd.DataFrame(stock_incident_data, columns=['date', 'number_of_incidents', 'stock_price_close'])
print(stock_incident_df.describe())

       number_of_incidents
count          1551.000000
mean            154.629916
std              25.782985
min              77.000000
25%             137.000000
50%             154.000000
75%             171.000000
max             342.000000

Даже если я отделю конструктор и добавлю данные, проблема возникает up:

stock_incident_df = pd.DataFrame(columns=['date', 'number_of_incidents', 'stock_price_close'])

print(stock_incident_df.describe())

stock_incident_df = stock_incident_df.append(stock_incident_data)

print(stock_incident_df.describe())

       date number_of_incidents stock_price_close
count     0                   0                 0
unique    0                   0                 0
top     NaN                 NaN               NaN
freq    NaN                 NaN               NaN
                 1
count  1551.000000
mean    154.629916
std      25.782985
min      77.000000
25%     137.000000
50%     154.000000
75%     171.000000
max     342.000000

Мои входные данные представляют собой список списков в следующем формате:

[
  [Timestamp('2014-01-02 00:00:00'), 119, 16441.35],
  [Timestamp('2014-01-03 00:00:00'), 124, 16469.99],
  [Timestamp('2014-01-06 00:00:00'), 100, 16425.11], 
  [Timestamp('2014-01-07 00:00:00'), 115, 16530.94]
]

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

правильно импортируется метка времени? При использовании pd.Timestamp, похоже, работает.

import pandas as pd

stock_incident_data=[
  [pd.Timestamp('2014-01-02 00:00:00'), 119, 16441.35],
  [pd.Timestamp('2014-01-03 00:00:00'), 124, 16469.99],
  [pd.Timestamp('2014-01-06 00:00:00'), 100, 16425.11], 
  [pd.Timestamp('2014-01-07 00:00:00'), 115, 16530.94]
]

stock_incident_df = pd.DataFrame(stock_incident_data, columns=['date', 'number_of_incidents', 'stock_price_close'])

stock_incident_df
Out[17]: 
        date  number_of_incidents  stock_price_close
0 2014-01-02                  119           16441.35
1 2014-01-03                  124           16469.99
2 2014-01-06                  100           16425.11
3 2014-01-07                  115           16530.94

enter image description here

0 голосов
/ 03 апреля 2020

Моя ошибка - метод describe() не включает дату в свой вывод, просто печать DataFrame показывает данные:

stock_incident_df = pd.DataFrame(stock_incident_data, columns=['date', 'number_of_incidents', 'stock_price_close'])

print(stock_incident_df)

           date  ...                              stock_price_close
0    2014-01-02  ...                                        16441.3
1    2014-01-03  ...                                          16470
2    2014-01-06  ...                                        16425.1
3    2014-01-07  ...                                        16530.9
4    2014-01-08  ...                                        16462.7
...         ...  ...                                            ...
1546 2018-03-18  ...  31585    24946.51
Name: Close, dtype: float64
1547 2018-03-24  ...   31590    23533.2
Name: Close, dtype: float64
1548 2018-03-25  ...   31590    23533.2
Name: Close, dtype: float64
1549 2018-03-30  ...  31594    24103.11
Name: Close, dtype: float64
1550 2018-03-31  ...  31594    24103.11
Name: Close, dtype: float64

[1551 rows x 3 columns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...