11월, 2018의 게시물 표시

xlwings와 pandas로 Excel 스크립팅 마스터

수업 보충자료입니다. import xlwings as xw import pandas as pd import numpy as np class XL : def __init__ ( self , fname ): self .wb=xw.Book(fname) def get_sheet ( self , sname = 'Sheet1' ): return self .wb.sheets[sname] def get_records ( self , sname = 'Sheet1' , corner = 'A1' ): sht= self .get_sheet(sname) return sht.range(corner).options(pd.DataFrame, expand = 'table' , index = False , header = True ).value def write_records ( self , df , sname = 'Sheet1' , corner = 'A1' ): sht= self .get_sheet(sname) sht.range(corner).options( index = False ).value=df def write_col ( self , data , corner , sname = 'Sheet1' ): sht= self .get_sheet(sname) sht.range(corner).options(pd.Series, index = False ).value=pd.Series(data)

고단 기어와 저단 기어

벨로스터 N을 타고 다닌지 벌써 1개월 하고 이주... 적산거리 3,700킬로미터를 찍었습니다. 여전히 재미나게 잘 타고 있고, 조만간 엔진오일 교환하러 차고에 들어갈 예정입니다. 오늘은 기어 특성에 대해서 적어볼까 합니다. 연구실 나와서 잠이 덜 깬 상태라... 논문도 안써지고 사실 손이나 풀어볼까 해서 글을 적고 있습니다. 두서가 없어도 이해를... 벨N은 6단 수동 차량입니다. 6단? 사실 5단 차량이라 봅니다. 6단은 고속을 받아주는 의미만 있습니다. 커뮤니티 글을 보니 6단이 잘 안들어간다... 기어를 넣었는데 튕겨나온다 이런 글이 종종 올라옵니다. 무엇이 문제일까요? 1,2,3,4,5 그리고 6단 마다 다루는 방법이 전부 다 다릅니다. 그냥 클러치 넣고 기어 넣으면 기어가 들어가기는 할 것입니다만 출력 손실, 클러치 디스크 마모, 무엇보다 기어가 잘 체결되지 않는 문제를 겪을 것입니다. 제대로 잘 만든 벨N이니 잘 다뤄주는 것도 주인장 몫입니다. 기어의 단수마다 잘 대처해야 합니다. 1은 순전히 가속 기어입니다. 반클러치의 적정 RPM은 1800입니다. 이후 2500까지는 반클러치 유지하고 전개 동시에 4000까지 올리면 끝입니다. 이상은 큰 의미가 없습니다. 2의 반클러치 구간은 2500입니다. 1단에서 2단으로 기어를 변경하면 딱 이까지 떨어집니다. 반클러치는 거의 0.5초? 1초만에 체결을 완료하고 4500까지 올릴 수 있습니다. 이상태가 되면 시속 70정도 넘어섭니다. 1단에서 2단까지 옮겨가는 것은 대략 3~4초 정도 되는 것 같습니다. 1과 2단까지의 전개에 있어 Normal 모드는 RPM 하락을 좀 잡아주는 편이지만 스포츠나 N모드는 터보 걸어서 무조건 출력을 뽑는 설정입니다. 일상 주행에서 쓰기가 적합하지 않습니다. 차가 달리자고 하는 대로 달려줬다가는 앞차를 들이받을 지경입니다. 문제는 그렇다고 RPM 전개 특성 무시하고 클러치 조작이 가능한가? 아뇨. 엄청 까탈스럽게 반응해줍니다. "너 지금 뭐하는