프로젝트/REMAKE-진동프로젝트

[REMAKE-진동프로젝트] 오늘의 리메이크 일기(오늘 날씨는 맑음)

세상을 알고싶어요 2025. 3. 7. 21:56

ㅎㅇ 불금이다.

개발... 해야겠지?

 

※ 이 프로젝트의 목표는 내가 쌓은 지식을 남에게 보여주는 것이므로 굉장히 쉽게 작성됨을 알림

 

지난번에 데이터의 형태를 보는 것에서 끝났다 기억안난다면 지난 포스트를 참고해달라

https://bsggac3ys.tistory.com/12

 

[REMAKE-진동프로젝트] 오늘의 리메이크 일기(오늘 날씨는 흐림)

이거 왜 다시 함?좋은 질문이다. 그냥 하고싶어서 하는 것도 있고 다시 했던 거 보니까 좀 어줍잖게 한게 많은 것 같아서 해보려고 한다. 그리고 내가 얼마나 성장한지 기록하고 싶어서도 맞다.

bsggac3ys.tistory.com

데이터의 shape을 보다가 말았는데 바로 봐보자

지금 어차피 가볍게 데이터를 분석해보는 것이므로 normal만 보겠다

 

display(normal_data_csv)
print(normal_data_csv.shape)

흠 그렇군

디스플레이 함수는 대충 데이터 프레임을 표형태로 일부만 보여주는 거다.

 

다음과같이 불러오긴했는데... 생각보다 nan값이 많다 왜 일까?

진짜 모르겠다 다시 데이터를 합칠때의 코드를 보자

normal_data_csv = pd.concat((pd.read_csv(f) for f in glob.glob(cur_path+"normal/normal/*.csv")),ignore_index=True)

다음과 같은 코드를 보면 우리는 원본이 되는 폴더에서 normal csv 파일의 경로를 전부 불러와서

read_csv 함수로 읽어와가지고, concat 함수로 합친다는 것을 알 수 있다.

 

이는 어떻게 된다는 걸까?

read_csv는 그냥 데이터 읽어오는 거지만 concat은 어떻게 동작하는거지?

의문이 많아진다..

우리는 llm의 시대를 살고있으므로 llm한테 물어보자

sonar 가라사대 

import pandas as pd

# 예시 데이터프레임 생성
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
df3 = pd.DataFrame({'C': [9, 10], 'D': [11, 12]})

# 데이터프레임 결합
result = pd.concat([df1, df2, df3], axis=0, ignore_index=False)

매개변수 설명(아하 그렇구나!)

1. axis

  • axis=0: 기본값으로, 데이터프레임을 세로 방향으로 결합합니다. 즉, 행을 추가하는 방식으로 결합됩니다.
  • axis=1: 데이터프레임을 가로 방향으로 결합합니다. 즉, 열을 추가하는 방식으로 결합됩니다.

2. ignore_index

  • ignore_index=True: 결합 후 인덱스를 초기화합니다. 즉, 새로운 인덱스를 생성하여 기존 인덱스를 무시합니다.
  • ignore_index=False: 기본값으로, 결합 후 기존 인덱스를 유지합니다.

우리 LLm의 설명은 항상 이런식이다.

흠... 다시 설명해보자 LLM이 짜준 코드 기반으로 설명해보겟다.

데이터 프레임를 먼저 시각화해보면 다음과 같을 것이다.

3개나 있으니 어지럽다... 2개만 묶어서 해보자!

axis는 0 , ignore_index= False인 매개변수일 때

 

잠깐 그럼 axis가 1일때는 뭐지? 아하 열방향이구나! 그래서 그게뭔데

잠깐 그럼 ignore_index는 무슨 역할인데?

그냥 해당 매개변수가 True 인경우를 보자

음 그렇군 이제 다시 원래의 데이터로 넘어가서 왜 nan값이 많은지 생각해보자

원본 데이터 보기

cur_path = '보시는 분의 경로로 해주세요 내꺼는 C:/Users/wnstj/ 이건데요 '
nor_paths= glob.glob(cur_path+"normal/normal/*.csv")

for i in nor_paths:
    temp_csv = pd.read_csv(i)
    display(temp_csv)

 

해당 코드를 통해 csv 파일을 보면 nor 기준 파일의 형태가 다음과 같습니다

결측치도 없고~ csv 데이터는 일정합니다

앞서 데이터 설명을 보신분들은 아시겠지만

axis의 기본값은 0입니다. 즉 열을 기준으로 데이터를 병합하는 거죠

근데 우리는 행과 열의 형태가 모두 같은 데이터를 들고 있습니다.

이때 행을 기준으로 합친다..?

뭐야... 딱원하는대로 맞잖아?

센서 채널별 데이터가 시간순서대로 딱딱맞는데 ????

 

이유는 그냥 read_csv에 있습니다.

 

자 이제 데이터는 읽어왔고 데이터에 대한 설명을 해봅시다.

우리의 데이터는 NI-9234라는 친구로 수집한 데이터입니다.

그렇다면 얘를 검색해봅시다.

다 영어라서 현기증이 좀 납니다...

llm한테 물어봅시다!

그렇다고합니다. 별로 중요한 내용이었네요

저는 이번에 fft를 통한 데이터 분석 및 데이터 생성을 할 거기에 데이터 샘플링레이트는 알아야했습니다.

이들 중에 가속도계 신호말고는 딱히 사용을 안할 것 같아요

데이터를 모두 불러오긴 했지만 몇개의 데이터는 버려줍시다.

근데 그건 다음에~

오늘은 여기까지 그럼

잘가꼬리.