如何为Pandas DataFrame

时间:2016-02-25 18:12:48

标签: python pandas

我想将现有的Python列表转换为Pandas DataFrame对象。如何为每列指定数据格式并定义索引列?

以下是我的代码示例:

import pandas as pd

data = [[1444990457000286208, 0, 286],
       [1435233159000067840, 0, 68],
       [1431544002000055040, 1, 55]]
df = pd.DataFrame(data, columns=['time', 'value1', 'value2'])

在上面的示例中,我需要为现有列提供以下类型:

  • 时间:datetime64 [ns]
  • value1:bool
  • value2:int

此外,时间列应该用作索引列。

默认情况下,所有三列都是int64,我无法在DataFrame对象创建过程中找到如何指定列类型。

谢谢!

2 个答案:

答案 0 :(得分:2)

value2已经是正确的dtype。

对于time,您可以使用to_datetime转换为日期时间,然后使用set_index设置索引。

对于value1,您可以使用astype转换为bool。

df['time'] = pd.to_datetime(df['time'])
df = df.set_index('time')
df['value1'] = df['value1'].astype(bool)

答案 1 :(得分:1)

您可以在pd.DataFrame对象构造函数中使用dtype关键字。 Docs 。请参阅@alex answer

要将特定列用作索引,可以使用数据框实例的set_index方法。