我正在尝试通过将包含索引和数据对的字典传递给 Pandas 系列来构建它。这样做时,我注意到一个有趣的怪癖。如果数据对的索引是一个非常大的整数,则数据将显示为 NaN。这可以通过减小索引值的大小或使用两个列表而不是单个 dict 创建系列来解决。我有很大的索引值,因为我使用的是自 1970 年以来微秒格式的时间戳。我做错了什么还是这是一个错误?
这是一个例子:
import pandas as pd
test_series_time = [1357230060000000, 1357230180000000, 1357230300000000]
test_series_value = [1, 2, 3]
series = pd.Series(test_series_value, test_series_time, name="this works")
test_series_dict = {1357230060000000: 1, 1357230180000000: 2, 1357230300000000: 3}
series2 = pd.Series(test_series_dict, name="this doesn't")
test_series_dict_smaller_index = {1357230060: 1, 1357230180: 2, 1357230300: 3}
series3 = pd.Series(test_series_dict_smaller_index, name="this does")
print series
print series2
print series3
和输出:
1357230060000000 1
1357230180000000 2
1357230300000000 3
Name: this works
1357230060000000 NaN
1357230180000000 NaN
1357230300000000 NaN
Name: this doesn't
1357230060 1
1357230180 2
1357230300 3
Name: this does
那么这是怎么回事?