我正在创建两个元组列表:
第一个是:
Entity=tuple(df['Entity'])
输出是这样的
(1007897079, 1007897253, 1007898597)`
另一个是:
Research=tuple(df8['research'])
输出是
('2008841156', '1432883725', '2000535429')
为什么第二个带引号?我可以删除它们吗? 非常感谢!
我试图删除引号,但似乎我做不到。非常感谢您的帮助!
列类型不同。可重现的示例和修复:
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)
第二个(研究元组)是元组的字符串。 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。