【问题标题】:Unable to read TweetId in Pandas dataframe无法读取 Pandas 数据框中的 TweetId
【发布时间】:2020-11-01 20:05:33
【问题描述】:

我有一个 excel 文件中的推文 ID 列表(没有值)

ID
1258125182063050753
1233371388620263429
1237667024618258432
1225204912755179521
nan
nan

当我尝试在 Pandas 数据报中加载 excel 文件时,我将字符串列转换为干扰使用

df['ID']=df['ID'].apply(np.int64)

我得到的值是

 1258125182063050752
 1233371388620263424
 1237667024618258432
 1225204912755179520
 0
 0

字符串到整数的转换会改变数值。我该如何解决这个问题?

【问题讨论】:

  • 您的意思是将零 (0) 改回 NaN 吗?检查这个:[Python Pandas 将多列零替换为 Nan] (stackoverflow.com/questions/45416684/…)
  • @naccode no,我担心的是 1258125182063050753 转换后变成 1258125182063050752
  • 为什么要转换成整数?您不必对这些数字进行计算,因此请将它们保存为字符串。
  • 顺便说一句:你在转换之前检查过 Pandas 中的值吗?也许你已经有错误的数据。您是直接从 Excel 加载还是从 CSV 加载?您是否在文本编辑器中检查了 CSV 以查看文件中的值是否正确?

标签: python python-3.x pandas tweepy


【解决方案1】:

可能 Excel 文件中存在数字精度问题,因为在检查纯 python 时,我看到转换不会改变数字:

df['ID2'] = df['ID'].apply(np.int64)
df['ID2'] == df['ID']

0    True
1    True
2    True
3    True
dtype: bool

【讨论】:

  • 也许可以,但是excel/csv的问题怎么处理呢?
  • 要重现问题,需要 Excel 文件和显示您将数据导入数据框的方式的代码。另请注意,您在 excel 中看到的内容取决于应用于工作表中单元格的格式选项。
猜你喜欢
  • 2021-08-26
  • 2018-07-29
  • 2016-07-30
  • 1970-01-01
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 2021-06-05
  • 2017-05-08
相关资源
最近更新 更多