fork download
  1. import matplotlib.pyplot as plt
  2. import pandas as pd
  3. from scipy.signal import find_peaks
  4. import sys
  5.  
  6. file_path = "J125188_0508_100Hz.txt"
  7. MIN_HEIGHT = 2.44
  8. MIN_DISTANCE = 5
  9.  
  10. try:df = pd.read_csv(file_path, header=None, names=["Time", "Voltage"])
  11. except FileNotFoundError:
  12. print("ユーザー通知: ファイルが見つからないため、標準入力(stdin)からデータを読み込みます。")
  13. try:
  14. df = pd.read_csv(sys.stdin, header=None, names=["Time", "Voltage"])
  15. except Exception:
  16. print("エラー: データが入力されていません。")
  17. exit()
  18.  
  19. times = df["Time"].values
  20. voltages = df["Voltage"].values
  21.  
  22. peak_indices, _ = find_peaks(voltages, height=MIN_HEIGHT, distance=MIN_DISTANCE)
  23.  
  24. print("\n--- 実行結果 ---")
  25. print(f"検出されたピークの数: {len(peak_indices)} 個")
  26. print("ピークの位置(時間)と値(電圧):")
  27. for idx in peak_indices:
  28. print(f"Time: {times[idx]}, Voltage: {voltages[idx]}")
Success #stdin #stdout 1.27s 98484KB
stdin
0.000000,2.430912
0.010000,2.436004
0.020000,2.441097
0.030000,2.428365
0.040000,2.441097
0.050000,2.433458
0.060000,2.438550
0.070000,2.433458
0.080000,2.433458
0.090000,2.438550
0.100000,2.433458
0.110000,2.438550
0.120000,2.428365
0.130000,2.433458
0.140000,2.441097
0.150000,2.428365
0.160000,2.425819
0.170000,2.438550
0.180000,2.428365
0.190000,2.430912
0.200000,2.428365
0.210000,2.425819
0.220000,2.433458
0.230000,2.436004
0.240000,2.433458
0.250000,2.428365
0.260000,2.428365
0.270000,2.441097
0.280000,2.438550
0.290000,2.433458
0.300000,2.433458
0.310000,2.433458
0.320000,2.425819
0.330000,2.433458
0.340000,2.433458
0.350000,2.428365
0.360000,2.433458
0.370000,2.438550
0.380000,2.428365
0.390000,2.436004
0.400000,2.425819
0.410000,2.433458
0.420000,2.436004
0.430000,2.438550
0.440000,2.425819
0.450000,2.433458
0.460000,2.438550
0.470000,2.433458
0.480000,2.428365
0.490000,2.425819
0.500000,2.433458
0.510000,2.438550
0.520000,2.423273
0.530000,2.433458
0.540000,2.430912
0.550000,2.433458
0.560000,2.428365
0.570000,2.433458
0.580000,2.430912
0.590000,2.430912
0.600000,2.425819
0.610000,2.436004
0.620000,2.433458
0.630000,2.425819
0.640000,2.438550
0.650000,2.425819
0.660000,2.433458
0.670000,2.430912
0.680000,2.425819
0.690000,2.430912
0.700000,2.433458
0.710000,2.430912
0.720000,2.428365
0.730000,2.423273
0.740000,2.423273
0.750000,2.433458
0.760000,2.430912
0.770000,2.436004
0.780000,2.430912
0.790000,2.425819
0.800000,2.430912
0.810000,2.433458
0.820000,2.425819
0.830000,2.433458
0.840000,2.433458
0.850000,2.430912
0.860000,2.425819
0.870000,2.430912
0.880000,2.428365
0.890000,2.423273
0.900000,2.430912
0.910000,2.436004
0.920000,2.428365
0.930000,2.430912
0.940000,2.423273
0.950000,2.423273
0.960000,2.430912
0.970000,2.423273
0.980000,2.430912
0.990000,2.423273
stdout
ユーザー通知: ファイルが見つからないため、標準入力(stdin)からデータを読み込みます。

--- 実行結果 ---
検出されたピークの数: 3 個
ピークの位置(時間)と値(電圧):
Time: 0.04, Voltage: 2.441097
Time: 0.14, Voltage: 2.441097
Time: 0.27, Voltage: 2.441097