我有一个 long int,我不希望在打印它或将其转换为字符串时将其截断。
以下不起作用:
import pandas as pd
b = pd.Series({"playerid": 544911367940993}, dtype='float64')
print("%s" % b['playerid'])
print(str(b['playerid'])
我有一个 long int,我不希望在打印它或将其转换为字符串时将其截断。
以下不起作用:
import pandas as pd
b = pd.Series({"playerid": 544911367940993}, dtype='float64')
print("%s" % b['playerid'])
print(str(b['playerid'])
打印不会截断您的 long int,也不会使用以下格式进行格式化"%s"
:
>>> "%s" % 12345678901234567898012345678901234567890
'12345678901234567898012345678901234567890'
所以我猜想通过写入将它传递到pd.Series()
该对象和/或从该对象中获取它会进行b['playerid']
任何截断。
如果您只是想像在 OP 中一样将其打印出来,您可以使用%d
格式字符串
In [5]: print('%d' % b['playerid'])
544911367940993
您还可以使用 format() 函数:
In [25]: x = '{:.0f}'.format(b['playerid'])
In [26]: x
Out[26]: '544911367940993'
jreback 找到的解决方案:
In [75]: b.apply(lambda x: x.__repr__())
Out[75]:
playerid 544911367940993.0
dtype: object
In [77]: b.apply(lambda x: "%.0f" % x)
Out[77]:
playerid 544911367940993
dtype: object