사용자의 소셜 미디어 활동 결과가 포함 된 사전이 있고 사전 값이 Timestamp 객체가 포함 된 목록에 있으며 시간 객체로 변환하고 싶습니다 (datetime.time ()).
여기에 사전이 있습니다
{{'Instagram':[Timestamp('2020-08-23 04:16:05.12456'), Timestamp('2020-08-23 04:17:02.88754'), Timestamp('2020-08-23 05:20:21.43215'), Timestamp('2020-08-23 06:21:19.63441'), Timestamp('2020-08-23 08:23:15.76421')]},
{'Twitter':[Timestamp('2020-08-23 05:19:12.21245'), Timestamp('2020-08-23 06:21:10.09875'), TiTimestamp('2020-08-23 07:22:08.65784'),Timestamp('2020-08-23 08:23:25.09123')]},
{'Facebook':[Timestamp('2020-08-23 04:1:46.436778'), Timestamp('2020-08-23 05:19:19.34213'), Timestamp('2020-08-23 05:20:25.56784'), Timestamp('2020-08-23 08:23:12.22567')]}}
Timestamp 객체를 datetime 객체로 변환하기 위해 작성한 코드는 다음과 같습니다.
for i in range(2, len(dataset.columns)):
(d[dataset.columns[i]])=pd.to_datetime(d[dataset.columns[i]], unit = "ms")
하지만 다음과 같은 오류가 발생합니다. ValueError: unit='ms' not valid with non-numerical val='2020-08-23 04:16:05.12456'
목록 이해력과 함께 중첩 사전을 사용하십시오.
d = {k: [x.time() for x in v] for k, v in d.items()}
그러나 이것 으로부터 처리 솔루션을 사용 하면 시간으로 채워진 새 열을 만들고 다음 을 전달할 수 있습니다 groupby()
.
df['d'] = pd.to_datetime(df['DateTime'], format='(%Y,%m,%d,%H,%M,%S)')
#added time column
df['time'] = df['d'].dt.time
day1 = df['d'].dt.date[0]
df = df[df['d'].dt.date.eq(day1)]
df = df.melt(['DateTime','d'])
df = df[df['value'].eq('Y')]
d = df.groupby('variable')['time'].agg(list).to_dict()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다