python 生成csv文件的程序,其中每一列都是正弦波的数据

python program to generate a csv file where each column is a data of sinusoidal wave

要求生成一个csv文件,每一列都是频率为1Hz、2Hz、3Hz、4Hz、5Hz、6Hz、7Hz的正弦波数据。因此共有 7 列。

1 赫兹有 100 个波点,因此总共有 100 x 7= 700 个点。

谁能解释一下如何为这个要求编写代码

你可以试试这个。 这里,

  1. 我正在使用 Numpy 获取所需的频率值。
  2. 然后将这些值复制到 pandas dataframe
  3. 最后写入csv文件。

有关 Python

中正弦波的更多有用详细信息,请参阅此 link
import numpy as np
import pandas as pd    

def get_values_for_frequency(freq):
    # sampling rate
    sr = 100.0
    # sampling interval
    ts = 1.0/sr
    t = np.arange(0,1,ts)

    # frequency of the signal
    freq = 5   
    y = np.sin(2*np.pi*freq*t)
    return y


df = pd.DataFrame(columns =['1Hz','2Hz', '3Hz', '4Hz', '5Hz', '6Hz', '7Hz'])

df['1Hz']=pd.Series(get_values_for_frequency(1))
df['2Hz']=pd.Series(get_values_for_frequency(2))
df['3Hz']=pd.Series(get_values_for_frequency(3))
df['4Hz']=pd.Series(get_values_for_frequency(4))
df['5Hz']=pd.Series(get_values_for_frequency(5))
df['6Hz']=pd.Series(get_values_for_frequency(6))
df['7Hz']=pd.Series(get_values_for_frequency(7))

df.to_csv('sine.csv', index=False)

生成的 csv 文件的示例输出: