Cycle Index 계산

Published by onesixx on

배터리 테스트와 같은 상황에서, 각 충전 주기를 계산하기 위해 사용될 수 있습니다.
예를 들어, 충전과 방전이 한 주기를 구성한다면,
‘Charge count’를 2로 나누고 1을 더하여 각 주기의 인덱스를 계산할 수 있습니다.

예를 들어, ‘Charge count’가 0과 1은 첫 번째 그룹, 2와 3은 두 번째 그룹, 이런 식으로 그룹을 나누고 싶을 때 유용합니다.


from pathlib import Path
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
import plotly.graph_objects as go

src_path = Path("/Users/onesixx/my/zdata/raw/CALCE/CX2_16/cx2_16_8_12_10.txt")
df = pd.read_csv(src_path, sep='\t', header=0)
df.columns
dd = df[['Charge count', 'mV', 'mA']].copy()
dd['Cycle_Index'] =  df['Charge count'] // 2 + 1

fig,ax = plt.subplots()
ax.plot(dd.index, dd['Charge count'], label='Charge count')
ax.plot(dd.index, dd['Cycle_Index'],  label='Cycle_Index')
plt.show()

traces=[]
colors = {
    'Charge count': {'line': 'grey', 'marker': 'blue'},
    'Cycle_Index': {'line': 'grey', 'marker': 'orange'}
}
for col in ['Charge count', 'Cycle_Index']:
    traces.append(
        go.Scatter( x=dd.index, y=dd[col],
            mode = 'lines+markers',
            line =  dict(width=.5, color=colors[col]['line']),
            marker = dict(size=2, color=colors[col]['marker']),
            name = col
        )
    )
layout = go.Layout(
    hovermode='x',  # x축을 따라 움직이는 세로선
    #xaxis=dict(showspikes=True, spikecolor="grey", spikethickness=1),
    yaxis=dict(showspikes=True, spikecolor="grey", spikethickness=1),
    template='plotly_white'
)
fig = go.Figure(traces, layout)
fig.show()

Categories: Uncategorized

onesixx

Blog Owner

Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x