728x90
반응형
SMALL
가속도계 (Accelerometer)
가속도계는 동작의 가속도나 진동을 측정하는 데 사용되는 장치이다. 가속도계에서 제공하는 데이터는 3차원이며 낙상 감지 및 건강 모니터링과 같은 문제를 해결하기 위한 데이터 기반 애플리케이션에서 사용할 수 있다. 가속도계 데이터 분석을 위해 먼저 가속도계에서 수집한 데이터를 수집해야 한다. 가속도계는 3차원 데이터를 수집하므로 특정 시간에 대한 데이터 세트의 x, y, z 축에 대한 데이터를 갖는 것이 필수적이다.
import plotly.express as px
import pandas as pd
import plotly.graph_objects as go
data = pd.read_csv("accdata.csv")
print(data.head())
Date Time accel_x accel_y accel_z
0 2022-09-03 23:35:16 -1.838747 3.543418 9.126697
1 2022-09-03 23:35:31 1.110910 1.810017 9.634268
2 2022-09-03 23:35:47 8.829816 0.833182 4.663905
3 2022-09-03 23:36:52 -0.852336 -0.124498 9.787497
4 2022-09-03 23:37:44 -0.900220 -0.095768 9.835381
Line plot
x축에 시간, y축에 가속도계 데이터를 배치한 선형 플롯을 시각화한다.
fig = px.line(data, x="Date",
y=["accel_x", "accel_y", "accel_z"],
title="Acceleration data over time")
fig.show()
히트맵
이제, 데이터의 패턴이나 추세를 파악하는 데 도움이 될 수 있는 하루 중 시간별, 요일별 평균 가속도 값을 살펴 본다.
data["hour"] = pd.to_datetime(data["Time"]).dt.hour
data["day_of_week"] = pd.to_datetime(data["Date"]).dt.day_name()
agg_data = data.pivot_table(index="hour", columns="day_of_week",
values=["accel_x", "accel_y", "accel_z"],
aggfunc="mean")
# Create a heatmap
fig = go.Figure(go.Heatmap(x=agg_data.columns.levels[1],
y=agg_data.index,
z=agg_data.values,
xgap=1, ygap=1,
colorscale="RdBu",
colorbar=dict(title="Average Acceleration")))
fig.update_layout(title="Average Acceleration by Hour of Day and Day of Week")
fig.show()
산점도
이제, 가속도 벡터의 크기를 나타내는 새로운 특징을 만든다.
data['accel_mag'] = (data['accel_x'] ** 2 + data['accel_y'] ** 2 + data['accel_z'] ** 2) ** 0.5
이제, 시간에 따른 가속도 크기의 산점도를 만든다.
fig = px.scatter(data, x='Time',
y='accel_mag',
title='Magnitude of Acceleration over time')
fig.show()
3D 산점도
x, y, z 축이 각 방향의 가속도를 나타내는 3D 산점도를 생성힌다.
fig = px.scatter_3d(data, x='accel_x',
y='accel_y',
z='accel_z',
title='Acceleration in 3D space')
fig.show()
히스토그램
가속도의 크기 분포를 시각화하기 위해 히스토그램을 만든다.
fig = px.histogram(data,
x='accel_mag',
nbins=50, title='Acceleration magnitude histogram')
fig.show()
728x90
반응형
LIST
'Programming > Python' 카테고리의 다른 글
[Python] 폴더 내의 파일 재명명하기 (0) | 2023.06.08 |
---|---|
[Python] csv 파일을 목록화하고 폴더 생성후 파일 저장하기 (0) | 2023.05.15 |
[Python] 웹 프레임워크 (Web Framework) (0) | 2023.01.30 |
[Python] 다차원 리스트 (0) | 2023.01.02 |
[Python] 뉴스 사이트 스크랩 (0) | 2022.11.24 |