我需要幫助轉換成蟒蛇/大熊貓日期時間格式。例如,我的時間都保存與以下行類似:轉換成熊貓的日期時間格式?
2017-01-01 05:30:24.468911+00:00
.....
2017-05-05 01:51:31.351718+00:00
,我想知道這個與時間轉換成日期時間格式基本上是執行操作(如什麼是天的範圍內,最簡單的方法我數據集按時間將我的數據集分成塊,每次到另一次的時間差是多少)?如果這能讓事情變得更簡單,我不介意失去時代的一些重要性。非常感謝!
我需要幫助轉換成蟒蛇/大熊貓日期時間格式。例如,我的時間都保存與以下行類似:轉換成熊貓的日期時間格式?
2017-01-01 05:30:24.468911+00:00
.....
2017-05-05 01:51:31.351718+00:00
,我想知道這個與時間轉換成日期時間格式基本上是執行操作(如什麼是天的範圍內,最簡單的方法我數據集按時間將我的數據集分成塊,每次到另一次的時間差是多少)?如果這能讓事情變得更簡單,我不介意失去時代的一些重要性。非常感謝!
Timestamp
WIL我爲你轉換它。
>>> pd.Timestamp('2017-01-01 05:30:24.468911+00:00')
Timestamp('2017-01-01 05:30:24.468911+0000', tz='UTC')
比方說,你有一個數據幀,包括您的時間戳列(姑且稱之爲stamp
)。您可以在該列連同Timestamp
使用apply
:
df = pd.DataFrame(
{'stamp': ['2017-01-01 05:30:24.468911+00:00',
'2017-05-05 01:51:31.351718+00:00']})
>>> df
stamp
0 2017-01-01 05:30:24.468911+00:00
1 2017-05-05 01:51:31.351718+00:00
>>> df['stamp'].apply(pd.Timestamp)
0 2017-01-01 05:30:24.468911+00:00
1 2017-05-05 01:51:31.351718+00:00
Name: stamp, dtype: datetime64[ns, UTC]
您還可以使用Timeseries
:
>>> pd.TimeSeries(df.stamp)
0 2017-01-01 05:30:24.468911+00:00
1 2017-05-05 01:51:31.351718+00:00
Name: stamp, dtype: object
一旦你有一個Timestamp對象,這是很有效的操縱。例如,您可以區分它們的值。
您可能還需要看看這個SO answer其中討論時區不知道值察覺。
假設我有兩個字符串2017-06-06
和1944-06-06
,我想在兩者之間找出差別(Python稱之爲timedelta
)。
首先,我需要import datetime
。然後,我需要得到這兩個字符串爲datetime
對象:
>>> a = datetime.datetime.strptime('2017-06-06', '%Y-%m-%d')
>>> b = datetime.datetime.strptime('1944-06-06', '%Y-%m-%d')
這將使我們可以在算術函數使用的兩個datetime對象,將返回一個timedelta
對象:
>>> c = abs((a-b).days)
這將爲我們提供26663
,並days
是timedelta
支持最大分辨率:documentation
由於熊貓標籤有:
df = pd.DataFrame(['2017-01-01 05:30:24.468911+00:00'])
df.columns = ['Datetime']
df['Datetime'] = pd.to_datetime(df['Datetime'], format='%Y-%m-%d %H:%M:%S.%f', utc=True)
print(df.dtypes)
你保存那些爲字符串?如果是這樣,你可以使用'strptime()'打出來表示爲對象的時間和對這些對象的成員做操作。 對象的成員將通過傳遞到方法格式化字符串來確定。更多信息請參見[此](https://docs.python.org/3.6/library/time.html#time.strptime)文檔。 – nerdenator
是的,它們被保存爲字符串。對不起,沒有指定。我會嘗試strptime()。謝謝! –