Я суммирую столбец с фреймворком данных pandas
со скаляром, и в результате получается столбец с нулями. Странно то, что иногда он возвращает нули, а иногда и не будет. Если кто-то скажет мне, что это я бы не поверил, поэтому я сделал видео, показывающее этот результат:Столбец Pandas со скалярными результатами в нулях
https://dl.dropboxusercontent.com/u/15853805/pandas%20bug.mp4
Может кто-нибудь объяснить мне эту черную магию? Я теряю доверие на pandas
, и мне действительно нужно, чтобы он работал.
Ok с этим кодом, я могу получить подобную ошибку:
import pandas as pd
import numpy as np
from pdb import set_trace as pdb
for _ in xrange(100):
data = np.random.randint(1,100000,1000000)
df = pd.DataFrame(data,columns=['column'])
scalar = np.random.randint(1,100000)
df.column += scalar
if df.column.max()==0:
pdb()
Моих переменными данные получают полные нули. Это проблемы с памятью? Если мои данные меньше, этого не произойдет, но мне нужно обработать большие данные безопасным способом!
>> print pandas.__version__
0.17.1
>> print numpy.__version__
1.10.1
Python 2.7.11 |Anaconda 2.4.1 (64-bit)
Пожалуйста, отправьте код, чтобы воспроизвести вашу проблему. –
Это происходит с моим собственным огромным набором данных, который я не могу передать. Я попытаюсь заставить его работать с некоторыми синтетическими наборами данных. Но, как вы видите, код прост. Df ['column'] + scalar @FabioLamanna –
Я не могу воспроизвести вашу ошибку, для меня она работает нормально, и я получаю dataframe с ненулевыми значениями. Можете ли вы опубликовать свои версии python, numpy, pandas? –