我开始用这个来扯头发-所以我希望有人可以帮忙。我有一个使用openpyxl从Excel电子表格创建的pandas
DataFrame。产生的DataFrame看起来像:
print image_name_data
id image_name
0 1001 1001_mar2014_report
1 1002 1002_mar2014_report
2 1003 1003_mar2014_report
[3 rows x 2 columns]
…具有以下数据类型:
print image_name_data.dtypes
id float64
image_name object
dtype: object
问题是id列中的数字实际上是标识号,我需要将它们视为字符串。我尝试使用以下方法将id列转换为字符串:
image_name_data['id'] = image_name_data['id'].astype('str')
这看起来有点丑陋,但它确实会产生类型为’object’而不是’float64’的变量:
print image_name_data.dyptes
id object
image_name object
dtype: object
但是,创建的字符串具有小数点,如下所示:
print image_name_data
id image_name
0 1001.0 1001_mar2014_report
1 1002.0 1002_mar2014_report
2 1003.0 1003_mar2014_report
[3 rows x 2 columns]
如何将pandas DataFrame中的float64列转换为给定格式的字符串(在这种情况下,例如’%10.0f’)?
我无法重现您的问题,但您是否尝试过先将其转换为整数?
image_name_data['id'] = image_name_data['id'].astype(int).astype('str')
然后,关于更一般的问题,您可以使用map
(如本答案所示)。在您的情况下:
image_name_data['id'] = image_name_data['id'].map('{:.0f}'.format)
问题内容: 我将Pandas’ver 0.12.0’与Python 2.7结合使用,并具有如下数据框: 该系列由一些整数和字符串组成。它在默认情况下是。我想将的所有内容转换为字符串。我试过了,产生下面的输出。 1) 如何将的所有元素转换为String? 2) 我最终将用于为数据帧建立索引。与具有整数索引相比,在数据帧中具有String索引会降低速度吗? 问题答案: 您可以将id的所有元素转换为使用
问题内容: 我有一个熊猫数据框,其中一列包含格式为日期的字符串 例如 目前该列的是。 如何将列值转换为Pandas日期格式? 问题答案: 使用类型
问题内容: 我有一个数据框,其第一列是 例如,如果我愿意,它将给我。但是,我不想提起诉讼。我只想打印。有人可以教我该怎么做吗?非常感谢! 问题答案: 可以通过以下方式实现: 但是解决方案并不通用,如果输入也删除。 因此,解决方案只能在不到一天的时间间隔内正常工作。 更通用的解决方案是创建自定义格式:
我有一个pd DataFrame列,其中日期值的格式不同。例如“YYYY-MM-DD hh:MM:ss”和“DD.MM”。“YYYY”甚至“DD.MM”我想将它们全部转换为一种格式(例如,“YYYY-MM-DD”),并(在许多事情中)尝试过 查找日期未写为“YYYY-MM-DD hh:MM:ss”的行。然而,这不起作用。 因此,我检查了列的类型 然后我检查了一下 并收到了诸如类的datetime之
问题内容: 如果我有一个包含以下列的数据框: 我想说:这是一个数据框,请给我列出对象类型或日期时间类型的列的列表吗? 我有一个将数字(Float64)转换为两位小数的函数,并且我想使用此数据框列的特定类型的列表,并通过此函数运行它以将它们全部转换为2dp。 也许: 问题答案: 如果您想要某种类型的列的列表,可以使用:
问题内容: 我想知道是否有某种方式将所有DataFrame负数替换为零? 问题答案: 如果所有列都是数字列,则可以使用布尔索引: 对于更一般的情况,此答案显示了private方法: 使用类型,布尔索引似乎可以在单独的列上工作,但不能在整个数据帧上工作。因此,您可以执行以下操作: 更新: 与整个DataFrame上的作品进行比较: