如何为Pandas DataFrame指定输入数据类型

5
我可以帮您将现有的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'])

在上面的例子中,我需要为现有列指定以下类型:

  • time:datetime64 [ns]
  • value1:bool
  • value2:int

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

默认情况下,这三列都是int64类型,我找不到在创建DataFrame对象时如何指定列类型。

谢谢!

2个回答

4
value2 的 dtype 已经是正确的。
对于 time,您可以使用to_datetime将其转换为日期时间格式,然后使用set_index设置索引。
对于 value1,您可以使用astype将其转换为布尔型。
df['time'] = pd.to_datetime(df['time'])
df = df.set_index('time')
df['value1'] = df['value1'].astype(bool)

1
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - pga

1
你可以在pd.DataFrame对象构造函数中使用dtype关键字。文档。请参见@alex的答案
要将特定列用作索引,请使用数据帧实例的set_index方法。

dtype kwarg 用于设置整个 DataFrame 的数据类型。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接