<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://smwiki.info/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%8C%EC%9D%B4%EC%8D%AC%3A%ED%91%B8%EB%A6%AC%EC%97%90_%EB%B6%84%EC%84%9D</id>
	<title>파이썬:푸리에 분석 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://smwiki.info/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%8C%EC%9D%B4%EC%8D%AC%3A%ED%91%B8%EB%A6%AC%EC%97%90_%EB%B6%84%EC%84%9D"/>
	<link rel="alternate" type="text/html" href="https://smwiki.info/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC:%ED%91%B8%EB%A6%AC%EC%97%90_%EB%B6%84%EC%84%9D&amp;action=history"/>
	<updated>2026-05-22T18:29:36Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://smwiki.info/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC:%ED%91%B8%EB%A6%AC%EC%97%90_%EB%B6%84%EC%84%9D&amp;diff=10086&amp;oldid=prev</id>
		<title>Sam: 새 문서: == 개요 ==  = 고속 푸리에 분석 = 다음과 같이 x와 y, 간격 데이터를 적절히 정리해주면 된다.&lt;syntaxhighlight lang=&quot;python3&quot;&gt; # 데이터 처리. x_vals = df[x].values  # x 컬럼(시간 또는 인덱스) signal_data = df[y].values  # 선택된 y 컬럼의 데이터 (numpy 배열) try:     T = float(T)  # 숫자만 받아들일 수 있다. except:  # 입력값이 없는 경우.     # 자동으로 간격 계산 (균등하다고 가정)     x_diff = np.d...</title>
		<link rel="alternate" type="text/html" href="https://smwiki.info/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC:%ED%91%B8%EB%A6%AC%EC%97%90_%EB%B6%84%EC%84%9D&amp;diff=10086&amp;oldid=prev"/>
		<updated>2025-05-20T09:07:46Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == 개요 ==  = 고속 푸리에 분석 = 다음과 같이 x와 y, 간격 데이터를 적절히 정리해주면 된다.&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot;&amp;gt; # 데이터 처리. x_vals = df[x].values  # x 컬럼(시간 또는 인덱스) signal_data = df[y].values  # 선택된 y 컬럼의 데이터 (numpy 배열) try:     T = float(T)  # 숫자만 받아들일 수 있다. except:  # 입력값이 없는 경우.     # 자동으로 간격 계산 (균등하다고 가정)     x_diff = np.d...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 개요 ==&lt;br /&gt;
&lt;br /&gt;
= 고속 푸리에 분석 =&lt;br /&gt;
다음과 같이 x와 y, 간격 데이터를 적절히 정리해주면 된다.&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot;&amp;gt;&lt;br /&gt;
# 데이터 처리.&lt;br /&gt;
x_vals = df[x].values  # x 컬럼(시간 또는 인덱스)&lt;br /&gt;
signal_data = df[y].values  # 선택된 y 컬럼의 데이터 (numpy 배열)&lt;br /&gt;
try:&lt;br /&gt;
    T = float(T)  # 숫자만 받아들일 수 있다.&lt;br /&gt;
except:  # 입력값이 없는 경우.&lt;br /&gt;
    # 자동으로 간격 계산 (균등하다고 가정)&lt;br /&gt;
    x_diff = np.diff(x_vals)&lt;br /&gt;
    if np.allclose(x_diff, x_diff[0]):  # 거의 동일한 간격이면&lt;br /&gt;
        T = x_diff[0]&lt;br /&gt;
    else:&lt;br /&gt;
        T = np.mean(x_diff)&lt;br /&gt;
N = len(signal_data)  # 데이터 포인트 개수&lt;br /&gt;
&lt;br /&gt;
# 푸리에 변환 계산&lt;br /&gt;
fft_result = np.fft.fft(signal_data)&lt;br /&gt;
freqs = np.fft.fftfreq(N, d=T)&lt;br /&gt;
fft_freqs = freqs[:N // 2]&lt;br /&gt;
fft_magnitude = np.abs(fft_result[:N // 2])&lt;br /&gt;
&lt;br /&gt;
# plotly 그래프를 위해 데이터프레임 생성&lt;br /&gt;
fft_df = pd.DataFrame({&amp;#039;Frequency_Index&amp;#039;: fft_freqs, &amp;#039;Magnitude&amp;#039;: fft_magnitude})  # &amp;#039;Frequency_Index&amp;#039;로 이름 변경&lt;br /&gt;
&lt;br /&gt;
# 그래프 생성 (plotly line plot)&lt;br /&gt;
plot_title = f&amp;#039;{y} 컬럼 푸리에 변환 결과 (샘플링 주기: {T:.4f})&amp;#039; if T &amp;gt; 0 else f&amp;#039;{y} 컬럼 푸리에 변환 결과&amp;#039;&lt;br /&gt;
fig = px.line(fft_df, x=&amp;#039;Frequency_Index&amp;#039;, y=&amp;#039;Magnitude&amp;#039;,&lt;br /&gt;
              title=plot_title,&lt;br /&gt;
              labels={&amp;#039;Frequency_Index&amp;#039;: &amp;#039;Frequency (Relative or Index)&amp;#039;, &amp;#039;Magnitude&amp;#039;: &amp;#039;Magnitude&amp;#039;})&lt;br /&gt;
&lt;br /&gt;
# 그래프 레이아웃 조정 (선택 사항)&lt;br /&gt;
fig.update_layout(xaxis_title=&amp;quot;주파수 (상대값 또는 인덱스)&amp;quot;,&lt;br /&gt;
                  yaxis_title=&amp;quot;크기 (Magnitude)&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# 그래프를 HTML div로 변환&lt;br /&gt;
plot_div = plot(fig, output_type=&amp;#039;div&amp;#039;)&lt;br /&gt;
context[&amp;#039;plot_div&amp;#039;] = plot_div&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
</feed>