2

このようなタイムスタンプ列があります。

In [493]: df_data['last_seen'][:5]
Out[493]: 
1   1838-10-31 01:36:32.493180416
2   1826-08-10 09:38:02.493180416
3   1839-05-04 21:14:42.493180416
4   1831-06-11 17:44:24.493180416
5   1820-01-26 10:32:07.493180416
Name: last_seen

各行の最新のタイムスタンプから経過した時間数が必要です。だから私は書く

df['last_seen'] = df['last_seen'] - df['last_seen'].max() 

これはエラーをスローします。

AttributeError: 'Timestamp' object has no attribute 'dtype'

私が尋ねるときに注意してください:

>>> type(df['last_seen']) 
>>> pandas.core.series.Series

>>> type(df_data['last_seen'][1])
>>> pandas.tslib.Timestamp
4

2 に答える 2

1

これはバグでした

このPRで修正

https://github.com/pydata/pandas/pull/2899

于 2013-02-19T15:49:28.317 に答える
1

日付を適切に解析していませんでした。ご覧のとおり、1838 年のすべての日付から明らかです。一般的な dateutil パーサーを使用しましたが、上記のステートメントは機能します。

pd.read_csv('pet_data.csv', parse_dates=['last_seen'], date_parser=dateutil.parser.parse, skipfooter=1)
于 2013-02-19T03:08:48.027 に答える