import os # 폴더, 파일 이동 및 처리
import pandas as pd # 데이터 처리
# 3가지 카테고리의 경로 중 원하는 경로 선택 (주석해제)
# 자세
path = 'C:\\Users\\kangsters-kinect\\Desktop\\Kinect\\postural'
# 밀기
# path = 'C:\\Users\\kangsters-kinect\\Desktop\\Kinect\\push'
# 당기기
# pull = 'C:\\Users\\kangsters-kinect\\Desktop\\Kinect\\pull'
# 폴더 이동
os.chdir(path)
# 폴더 내의 파일이름 리스트를 forders 변수에 저장
files = os.listdir(path)
files
['장지수_20230920130417257.csv',
'장지수_20230921095056656.csv',
'장지수_20230921095140130.csv',
'장지수_20230921095157737.csv',
'장지수_20230921095214175.csv']
# 새로운 데이터 프레임 생성
df_all = pd.DataFrame()
for file in files:
df = pd.read_csv(file, dtype={'Code':str})
df_all = pd.concat([df_all, df])
df_all
DateTime | Head X | Y | Z | Chin X | Y.1 | Z.1 | Neck X | Y.2 | Z.2 | ... | Z.14 | Palvis X | Y.15 | Z.15 | HipLeft X | Y.16 | Z.16 | HipRight X | Y.17 | Z.17 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 20230920_13:04:17.288 | -17.50453 | -730.4594 | 1387.203 | 30.96933 | -703.7892 | 1514.282 | 32.02718 | -640.5778 | 1545.388 | ... | 1595.941 | 44.05234 | -185.4090 | 1594.499 | 121.9065 | -188.1236 | 1583.687 | -26.15216 | -182.9611 | 1604.248 |
1 | 20230920_13:04:17.322 | -10.49421 | -731.0904 | 1392.883 | 36.13002 | -704.9038 | 1520.286 | 35.66170 | -641.0576 | 1549.559 | ... | 1600.665 | 43.62104 | -186.3565 | 1582.064 | 121.9905 | -188.6597 | 1582.135 | -27.04817 | -184.2796 | 1581.999 |
2 | 20230920_13:04:17.352 | -6.185923 | -728.5552 | 1392.282 | 37.36919 | -703.5249 | 1521.610 | 36.63692 | -639.6987 | 1551.612 | ... | 1601.847 | 40.24343 | -184.5128 | 1576.336 | 118.9516 | -185.5916 | 1577.740 | -30.73115 | -183.5400 | 1575.071 |
3 | 20230920_13:04:17.383 | 1.225799 | -736.1851 | 1391.194 | 39.57076 | -704.4970 | 1523.087 | 37.87001 | -639.8773 | 1554.012 | ... | 1605.109 | 36.55318 | -178.0813 | 1575.493 | 116.4945 | -178.3569 | 1578.207 | -35.53340 | -177.8328 | 1573.046 |
4 | 20230920_13:04:17.415 | 7.691618 | -731.8593 | 1389.670 | 41.90818 | -704.7026 | 1523.802 | 39.66714 | -640.0938 | 1554.838 | ... | 1596.217 | 37.05436 | -177.1437 | 1581.323 | 117.0691 | -178.0023 | 1579.216 | -35.09846 | -176.3694 | 1583.222 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
147 | 20230921_09:52:19.076 | 11.89411 | -788.1564 | 1965.658 | 16.19065 | -743.4034 | 2109.435 | 15.64885 | -669.1841 | 2128.295 | ... | 2033.095 | 20.49951 | -182.6580 | 2046.194 | 105.9429 | -185.0777 | 2045.412 | -56.54856 | -180.4760 | 2046.898 |
148 | 20230921_09:52:19.116 | 11.89411 | -788.1564 | 1965.658 | 16.19065 | -743.4034 | 2109.435 | 15.64885 | -669.1841 | 2128.295 | ... | 2033.095 | 20.49951 | -182.6580 | 2046.194 | 105.9429 | -185.0777 | 2045.412 | -56.54856 | -180.4760 | 2046.898 |
149 | 20230921_09:52:19.155 | 15.62225 | -789.1160 | 1969.582 | 17.53133 | -745.8689 | 2113.809 | 15.45827 | -670.9238 | 2129.260 | ... | 2045.379 | 21.38081 | -182.7422 | 2043.830 | 106.3430 | -183.3865 | 2052.899 | -55.23335 | -182.1612 | 2035.652 |
150 | 20230921_09:52:19.188 | 8.978952 | -787.8351 | 1966.918 | 17.97898 | -745.2299 | 2110.321 | 16.74701 | -671.0179 | 2127.509 | ... | 2036.314 | 21.45930 | -184.1671 | 2050.027 | 106.4562 | -186.9141 | 2050.328 | -55.18612 | -181.6899 | 2049.756 |
151 | 장지수 | 남 | 20.0000 | 0.000 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
664 rows × 55 columns
df_all[df_all.isna().any(axis=1)].index
Int64Index([151, 152, 53, 152, 151], dtype='int64')
df = pd.read_csv('장지수_20230920130417257.csv')
profile = df[-1:]
# 유저 파일 생성 (최초 1회 생성 후 df 으로 관리)
profile.to_csv('C:\\Users\\kangsters-kinect\\Desktop\\Kinect\\user\\user.csv', encoding= 'utf-8', index=False)
user
DateTime | Head X | Y | Z | Chin X | Y.1 | Z.1 | Neck X | Y.2 | Z.2 | ... | Z.14 | Palvis X | Y.15 | Z.15 | HipLeft X | Y.16 | Z.16 | HipRight X | Y.17 | Z.17 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 장지수 | 남 | 22.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
1 rows × 55 columns