为什么一个元组列表打印有引号而另一个元组没有?

问题描述 投票:0回答:2

我正在创建两个元组列表:

第一个是:

Entity=tuple(df['Entity'])

输出是这样的

(1007897079, 1007897253, 1007898597)`

另一个是:

Research=tuple(df8['research'])

输出是

('2008841156', '1432883725', '2000535429')

为什么第二个带引号?我可以删除它们吗? 非常感谢!

我试图删除引号,但似乎我做不到。非常感谢您的帮助!

python list tuples
2个回答
0
投票

列类型不同。可重现的示例和修复:

import pandas as pd

df = pd.DataFrame({'entity': [1007897079, 1007897253, 1007898597],           # integers
                   'research': ['2008841156', '1432883725', '2000535429']})  # strings
print(df)
print('entity', tuple(df.entity))
print('research', tuple(df.research))
print('research(forced)', tuple(df.research.astype(int)))  # force integers
df.research = df.research.astype(int)  # convert the column
print('research(converted)', tuple(df.research))

输出:

       entity    research
0  1007897079  2008841156
1  1007897253  1432883725
2  1007898597  2000535429
entity (1007897079, 1007897253, 1007898597)
research ('2008841156', '1432883725', '2000535429')
research(forced) (2008841156, 1432883725, 2000535429)
research(converted) (2008841156, 1432883725, 2000535429)

0
投票

第二个(研究元组)是元组的字符串。 python 中的字符串用单引号或双引号括起来。

可以通过将字符串转换为整数来删除它。

import pandas as pd

df = pd.DataFrame({'entity': [1007897079, 1007897253, 1007898597],           
                'research': ['2008841156', '1432883725', '2000535429']})
Research = tuple(df.research.astype(int)) #convert string to int

输出为:

(2008841156, 1432883725, 2000535429)

DataFrame.astype() 方法用于将 pandas 对象转换为指定的 dtype。

© www.soinside.com 2019 - 2024. All rights reserved.