TypeErrorの原因はわかりませんね。というのは、こちらでは再現出来なかったからです。考えられるのは、python、pandasのバージョンが違うとか、開発環境が違うとか、質問者さんのプログラムが悪さをしているとかが考えられます。
こちらは、python=3.8.6、pandas=1.1.3 です。
データは、国土交通省ナウファスのものですね。これをダウンロードしてグラフ化するまでを作成してみましたので参考にしてください。
このデータは、固定長なのでスライスを利用して処理するのが良いと思います。また、データ中に未観測値(99.9とか999など)がありますので、それらはNaNにする必要があります。
python
1# 入力ファイル:h101e.019.txt(秋田 2019 波浪データ)
2# 情報元:国土交通省港湾局 全国港湾海洋波浪情報網 ナウファス(https://nowphas.mlit.go.jp/pastdata_select/)
3# 日付 line[:12]
4# 有義波高 line[36:42]
5# 最高波周期 line[66:72]
6
7from datetime import datetime
8import pandas as pd
9import matplotlib.pyplot as plt
10
11date_time, YuugiHako, SaikohaShuuki = [], [], []
12with open("h101e.019.txt", 'r') as f:
13 f.readline()
14 for line in f:
15 date_str = line[0:12].replace(' ', '0')
16 date_str = f"{date_str[0:4]}-{date_str[4:6]}-{date_str[6:8]} {date_str[8:10]}:{date_str[10:12]}"
17 date_time.append(datetime.strptime(date_str, "%Y-%m-%d %H:%M"))
18 YuugiHako.append(float(line[36:42]))
19 SaikohaShuuki.append(float(line[66:72]))
20df = pd.DataFrame({"日付": date_time, "有義波高": YuugiHako, "最高波周期": SaikohaShuuki})
21df = df.set_index("日付")
22df["有義波高"] = df["有義波高"].where(df["有義波高"] < 99.9)
23df["最高波周期"] = df["最高波周期"].where(df["最高波周期"] < 999.9)
24
25fig, ax1 = plt.subplots(figsize=(18, 4))
26ax2 = ax1.twinx()
27x = df.index
28y1 = df['有義波高']
29y2 = df['最高波周期']
30ax1.plot(x, y1, color='darkcyan', lw=0.5)
31ax2.plot(x, y2, color='red', lw=0.5)
32plt.show()
33
実行結果です。