文本数据存储方式不同

我的问题是我有 2 个应该相同的值,但是它们有这个奇怪的差异,我不知道它来自哪里。


上下文是我使用 pd.read_csv 导入了 3 个文件。我使用 groupby 对值进行分组,使用一些日期字段,并使用 nunique 聚合有问题的变量,只是为了记录计数。


然后,它使用 Tableau 实际上计算了不同数量的唯一记录。我发现熊猫说的一对记录不同,而 Tableau 认为是平等的。


看一看:


df

      A

0     100000306

1     100000306


x1 = df.iloc[0,0]

str(x1.values)

"['100000306']"


x2 = df.iloc[1,0]

str(x2.values)

'[100000306]'

为什么会发生这种情况,我该怎么做才能让大熊猫知道它们的值相同?


aluckdog
浏览 220回答 2
2回答

偶然的你

我不确定您对数据做了哪些其他处理步骤,但似乎存储在 [0,0] 中的值是 string'100000306'而不是 integer 100000306。您可以做的是使用pandas.to_numeric()以便在可能的情况下将列中的值转换为浮点值df['A'] = pd.to_numeric(df['A'])

梵蒂冈之花

一列中有不同的类型df.applymap(type)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;A0&nbsp; <class 'str'>1&nbsp; <class 'int'>请注意,当您打印 df.A 时,它会显示对象df.A0&nbsp; &nbsp; 1000003061&nbsp; &nbsp; 100000306Name: A, dtype: object
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python