programing

열을 날짜 형식으로 변환(Pandas Dataframe)

mailnote 2023. 10. 18. 22:59
반응형

열을 날짜 형식으로 변환(Pandas Dataframe)

팬더 데이터 프레임은 다음과 같습니다.

Symbol  Date
A       02/20/2015
A       01/15/2016
A       08/21/2015

나는 그것을 분류하고 싶습니다.Date, 하지만 그 칼럼은 단지 a.object.

칼럼을 날짜 객체로 만들려고 했는데 해당 형식이 필요하지 않은 문제가 생겼습니다.필요한 형식은2015-02-20,기타.

그래서 이제 저는 numpy가 'American' 날짜를 ISO 표준으로 변환하도록 하는 방법을 알아내려고 합니다. 그러면 날짜를 지정할 수 있는 객체로 만들 수 있기 때문입니다.

어떻게 하면 이 미국 날짜들을 ISO 표준으로 변환할 수 있을까요, 아니면 팬더 안에서 더 간단한 방법이 없을까요?

사용가능pd.to_datetime()날짜 시간 객체로 변환합니다.포맷 파라미터가 필요한데, 고객님 같은 경우는 필요 없을 것 같습니다.

>>> import pandas as pd
>>> df = pd.DataFrame( {'Symbol':['A','A','A'] ,
    'Date':['02/20/2015','01/15/2016','08/21/2015']})
>>> df
         Date Symbol
0  02/20/2015      A
1  01/15/2016      A
2  08/21/2015      A
>>> df['Date'] =pd.to_datetime(df.Date)
>>> df.sort('Date') # This now sorts in date order
        Date Symbol
0 2015-02-20      A
2 2015-08-21      A
1 2016-01-15      A

이후 검색을 위해 정렬 문을 변경할 수 있습니다.

>>> df.sort_values(by='Date') # This now sorts in date order
        Date Symbol
0 2015-02-20      A
2 2015-08-21      A
1 2016-01-15      A

sort메소드가 더 이상 사용되지 않고 로 대체되었습니다. 를 사용하여 datetime object로 변환한 후df['Date']=pd.to_datetime(df['Date'])

df.sort_values(by=['Date'])

참고: 제자리 정렬 및/또는 내림차순 정렬(가장 최근 첫 번째 순서):

df.sort_values(by=['Date'], inplace=True, ascending=False)

@JAB의 대답은 빠르고 간결합니다.하지만 그것은 변화를 줍니다.DataFrame당신은 당신이 원할 수도 있고 원하지 않을 수도 있는 정렬을 시도하고 있습니다.

(참고: 날짜 열은 문자열이 아닌 날짜여야 하기 때문에 거의 틀림없이 원할 입니다!)

날짜를 날짜로 변경하지 않으려는 경우에는 다른 방법으로 변경할 수도 있습니다.

먼저 정렬된 데이터에서 인덱스를 가져옵니다.Date열:

In [25]: pd.to_datetime(df.Date).order().index
Out[25]: Int64Index([0, 2, 1], dtype='int64')

그런 다음 원본을 색인화하는 데 사용합니다.DataFrame, 손대지 않은 채로 두는 것:

In [26]: df.ix[pd.to_datetime(df.Date).order().index]
Out[26]: 
        Date Symbol
0 2015-02-20      A
2 2015-08-21      A
1 2016-01-15      A

마법!

참고: Pandas 버전 0.20.0 이상의 경우 다음 대신 사용ix, 지금은 더 이상 사용하지 않습니다.

저희가.key논박을 펴다이렇게 하면 원래 데이터 프레임을 조정하지 않고 키를 지정하여 데이터 프레임을 정렬할 수 있습니다.

df.sort_values(by="Date", key=pd.to_datetime)
  Symbol        Date
0      A  02/20/2015
2      A  08/21/2015
1      A  01/15/2016

날짜 열이 포함된 데이터는 아래 코드를 사용하여 읽을 수 있습니다.

data = pd.csv(file_path,parse_dates=[date_column])

위의 코드 라인을 사용하여 데이터를 읽게 되면 날짜에 대한 정보가 포함된 열에 접근할 수 있습니다.pd.date_time()예:

pd.date_time(data[date_column], format = '%d/%m/%y')

요구사항에 따라 날짜 형식을 변경합니다.

data['Date'] = data['Date'].apply(pd.to_datetime) # non-null datetime64[ns]

언급URL : https://stackoverflow.com/questions/28161356/convert-column-to-date-format-pandas-dataframe

반응형