Pandas tolist() 函数正在更改默认日期时间格式值
Pandas tolist() function is changing default Date time format values
假设我有一个具有这样日期值的数据框,它是 pandas 对象数据类型。
当我应用 get_date 函数时,它的值被更改为日期时间格式。
当我取唯一值时,值保持不变。
但是当我使用 unique 并将其转换为列表时,它会更改 default/original 值。
.apply(get_date) 函数看起来像这样,
预料之中,如果勾选Series.unique
:
Returns
ndarray or ExtensionArray
The unique values returned as a NumPy array. See Notes.
因此,如果添加 tolist
,它会使用 numpy.ndarray.tolist
查看原生日期时间格式的 numpy 数组:
rng = pd.date_range('2017-04-03', periods=3)
a = pd.DataFrame({'DATEDATACHANGED': rng.append(rng) })
print (a)
DATEDATACHANGED
0 2017-04-03
1 2017-04-04
2 2017-04-05
3 2017-04-03
4 2017-04-04
5 2017-04-05
print (a['DATEDATACHANGED'].unique())
['2017-04-03T00:00:00.000000000' '2017-04-04T00:00:00.000000000'
'2017-04-05T00:00:00.000000000']
print (a['DATEDATACHANGED'].unique().tolist())
[1491177600000000000, 1491264000000000000, 1491350400000000000]
如果想将 Series 转换为列表使用 pandas.Series.tolist
:
print (a['DATEDATACHANGED'].tolist())
[Timestamp('2017-04-03 00:00:00'), Timestamp('2017-04-04 00:00:00'),
Timestamp('2017-04-05 00:00:00'), Timestamp('2017-04-03 00:00:00'),
Timestamp('2017-04-04 00:00:00'), Timestamp('2017-04-05 00:00:00')]
对于唯一值添加 Series.drop_duplicates
:
print (a['DATEDATACHANGED'].drop_duplicates().tolist())
[Timestamp('2017-04-03 00:00:00'), Timestamp('2017-04-04 00:00:00'),
Timestamp('2017-04-05 00:00:00')]
假设我有一个具有这样日期值的数据框,它是 pandas 对象数据类型。
当我应用 get_date 函数时,它的值被更改为日期时间格式。
当我取唯一值时,值保持不变。
但是当我使用 unique 并将其转换为列表时,它会更改 default/original 值。
.apply(get_date) 函数看起来像这样,
预料之中,如果勾选Series.unique
:
Returns
ndarray or ExtensionArray
The unique values returned as a NumPy array. See Notes.
因此,如果添加 tolist
,它会使用 numpy.ndarray.tolist
查看原生日期时间格式的 numpy 数组:
rng = pd.date_range('2017-04-03', periods=3)
a = pd.DataFrame({'DATEDATACHANGED': rng.append(rng) })
print (a)
DATEDATACHANGED
0 2017-04-03
1 2017-04-04
2 2017-04-05
3 2017-04-03
4 2017-04-04
5 2017-04-05
print (a['DATEDATACHANGED'].unique())
['2017-04-03T00:00:00.000000000' '2017-04-04T00:00:00.000000000'
'2017-04-05T00:00:00.000000000']
print (a['DATEDATACHANGED'].unique().tolist())
[1491177600000000000, 1491264000000000000, 1491350400000000000]
如果想将 Series 转换为列表使用 pandas.Series.tolist
:
print (a['DATEDATACHANGED'].tolist())
[Timestamp('2017-04-03 00:00:00'), Timestamp('2017-04-04 00:00:00'),
Timestamp('2017-04-05 00:00:00'), Timestamp('2017-04-03 00:00:00'),
Timestamp('2017-04-04 00:00:00'), Timestamp('2017-04-05 00:00:00')]
对于唯一值添加 Series.drop_duplicates
:
print (a['DATEDATACHANGED'].drop_duplicates().tolist())
[Timestamp('2017-04-03 00:00:00'), Timestamp('2017-04-04 00:00:00'),
Timestamp('2017-04-05 00:00:00')]