文本数据存储方式不同

时间:2019-02-22 00:04:12

标签: python pandas tableau

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

上下文是我使用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]'

为什么会这样?大熊猫知道它们具有相同的价值,该怎么办?

2 个答案:

答案 0 :(得分:0)

欢迎使用Stackoverflow!

我不确定您对数据进行了哪些其他处理步骤,但是似乎存储在[0,0]中的值是字符串'100000306',而不是整数100000306。您可以做的是使用pandas.to_numeric()以便将列中的值转换为可能的浮点值

df['A'] = pd.to_numeric(df['A'])

答案 1 :(得分:0)

您在一栏中有不同的类型

df.applymap(type)
               A
0  <class 'str'>
1  <class 'int'>

打印df.A时注意,它将显示对象

df.A
0    100000306
1    100000306
Name: A, dtype: object