0

我正在尝试导入 csv 格式文件。这是分时交易数据信息。该文件如下:

0,2017-09-18 02:00:06,12568.00,1,201,12567.00,12568.00,5462,0,0,C,
0,2017-09-18 02:00:06,12568.50,2,203,12567.00,12568.00,5463,0,0,C,
0,2017-09-18 02:00:06,12569.00,1,204,12567.00,12569.00,5468,0,0,C,
0,2017-09-18 02:00:06,12569.00,1,205,12567.00,12569.00,5470,0,0,C,
0,2017-09-18 02:00:06,12569.50,3,208,12567.00,12569.00,5471,0,0,C,

我正在使用这个 python 代码:

import pandas as pd
df = pd.read_csv("XG#/20170918.txt", names=['empty', 'date time', 'last', 'last size', 'bid', 'ask'])
print(df.head(1))

我的输出是这样的:

                empty  date time  last  \ 0 2017-09-18 02:00:06 12567.0 200.0 200.0 12567.0  12567.0     5430.0   0.0   

                                               last size bid  ask   0 2017-09-18 02:00:06 12567.0 200.0 200.0 12567.0        0.0   C  NaN 

进程以退出代码 0 结束

我的问题是:

  1. 为什么我的“名称”(标题)没有从第一列开始?
  2. 如何将第二列设为日期时间和索引?
  3. 如何扩大结果,以便在一行中看到所有数据(我使用的是 pycharm)?因为我需要将日期时间作为索引,所以我需要删除第 0 列,但是使用时df.drop(df.index[0])什么也没有发生。

欢迎任何帮助!

4

1 回答 1

3

有 10 列,您有 6 列的名称,因此代码应如下所示:

df = pd.read_csv('lol.csv',usecols = list(range(0,6)),names=['empty', 'date_time', 'last', 'last_size', 'bid', 'ask'])

我使用了前 6 列,请理解下面的示例并命名您想要的列。

usecols是您放置您想要命名的列号列表的地方。

例如:如果您希望将 col 1,3,4 命名为 name,gender,address 那么代码将如下所示

pd.read_csv('lol.csv',usecols = [1,3,4],names=['name','gender','address'])

第三个问题

df = pd.read_csv('lol.csv',usecols = list(range(0,6)),names=['empty','date_time', 'last', 'last_size', 'bid', 'ask'],index_col = 'date_time' ) 

您可以使用 index_col 参数来告诉使用哪一列作为索引。

要在使用 pandas 将 csv 导入变量(例如: df )后删除一列,请使用以下代码:

df.drop('empty', axis=1, inplace=True)
于 2017-12-14T09:08:40.847 回答