我正在这样读取我的数据
left = pd.read_csv('Day1.csv', sep='\t')
right = pd.read_csv('Day2.csv', sep='\t')
我的数据看起来像这样
76561193665298435 28 33210 1.0 85
76561193665298436 29 33340 56.0 56
76561193665298437 30 8930 800.0 2717
假设我有两个几乎相同的数据框,我想合并它们。如果我使用:
result = pd.merge(left, right, how='left', on=['key1', 'key2'])
输出是完美的,没有问题,就像原始数据帧一样。但我需要两个数据帧中的键,所以我使用:
result = pd.merge(left, right, how='outer', on=['key1', 'key2'])
问题就出现了,我的数据如下所示:
7.65611936653e+16 33210.0 1.0 85.0 1.0 85.0
7.65611936653e+16 33340.0 56.0 56.0 56.0 56.0
7.65611936653e+16 8930.0 800.0 2717.0 800.0 2717.0
7.65611936653e+16 221680.0 49.0 803.0 49.0 803.0
我需要摆脱这种科学形式,因为我无法进行任何更多处理(所有键看起来都一样)。
最佳答案
好吧,我已经寻找这个有一段时间了,但我刚刚找到了答案,所以如果有人遇到同样的问题,这里就是解决方案。您需要将其转换为字符串,具体方法如下:
left['key1'] = left['key1'].astype('str')
关于python - Pandas 合并导致科学数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33986707/