実現したいこと
example.csvは以下のようなファイルです。
y 2 3
今、z=yの平方根として、yの列の横にzの列を追加したいと思っています。
つまり、欲しい出力は以下の通りです。
y z 2 1.414213562 3 1.732050808
「該当のソースコード」を実行するとエラーメッセージが出てしまいました。どなたかコードを直してください。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "〇〇〇\testCV657-2.py", line 10, in <module> df['z'] = math.sqrt(df['y']) ~~~~~~~~~^^^^^^^^^ File "〇〇〇\pandas\core\series.py", line 251, in wrapper raise TypeError(f"cannot convert the series to {converter}") TypeError: cannot convert the series to <class 'float'>
該当のソースコード
python
1import pandas as pd 2import math 3 4df = pd.read_csv('example.csv') 5df['z'] = math.sqrt(df['y']) 6print(df)
試したこと
5行目を
python
1df['z'] = df['y']
とすると、正しく回りました。sqrtをとるとエラーになることが分かりました。
エラーメッセージで検索しましたが、よく分かりませんでした。
5行目を
python
1df['z'] = math.sqrt(float(df['y']))
としても同様のエラーが表示されました。
回答2件
あなたの回答
tips
プレビュー
2026/01/23 07:00