Pandas: 数据框创建:使用字典指定数据类型

创建于 2015-01-18  ·  3评论  ·  资料来源: pandas-dev/pandas

如果之前已经建议过此功能,我们深表歉意。 许多 IO 函数(例如read_csv )允许使用字典轻松指定每列的格式。 据我了解,这不是
可以使用常规数据框构建,例如:

df = pd.DataFrame(data=data, columns=columns, dtypes={'colname1': str, 'colname2': np.int})

更好的是,如果可以使用类似的构造更改数据框列的dtypes那就太好了,例如:

df.change_types({'colname1': str, 'colname2': np.int})

已经有这样的计划了吗?

API Design Dtypes Duplicate Reshaping

最有用的评论

这种方式实际上有效:
data_df = data_df.astype( dtype = {"wheel_number":"int64", "car_name":"object","minutes_spent":"float64"})

所有3条评论

看#9133 和#4464 没那么难
想试一试吗?

这种方式实际上有效:
data_df = data_df.astype( dtype = {"wheel_number":"int64", "car_name":"object","minutes_spent":"float64"})

read_csv( csvFile, dtype={..} )df.astpye(dtype={..} )之间的一个区别:
在 read_csv 的情况下,如果提供的 dict 包含更多不在 csv 中的列,则可以正常忽略它们。 在astype()的情况下,如果定义的所有列都不存在于数据中,则会出错。

它应该更像 read_csv。 因为我们可以有可能有一些列而不是其他列的传入字典。 现在这是我必须做的解决方法:

df = pd.DataFrame( incoming_data )
gtfs_dtypes = { ... } # my master dtypes dict, having all possible column names
gtfs_dtypes_specific = { x:gtfs_dtypes.get(x,'str') for x in df.columns.tolist() }
df = df.astype(dtype=gtfs_dtypes_specific)
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

songololo picture songololo  ·  3评论

Abrosimov-a-a picture Abrosimov-a-a  ·  3评论

ericdf picture ericdf  ·  3评论

MatzeB picture MatzeB  ·  3评论

andreas-thomik picture andreas-thomik  ·  3评论