前提・実現したいこと
CSVの実験データからエクセルおよび近似関数を作成するnumpyを用いたプログラムの前処理として
CSVで出てくるx,y(2列)に対して、
(input関数で与える)xにおけるy値を0とし、
修正yを作成したいと考えております。
input関数で判定できるところまで作成できましたが、
if文を用いたindex取得、そのindexを用いたfloat型データの取得{(例)x=100におけるyの値の参照}および、
修正後のyの格納方法わからず、
ご教示いただけますと幸いでございます。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
import locale import pandas as pd import numpy as np from openpyxl import Workbook from openpyxl.chart import BarChart, Reference import time wb = Workbook() ws0 = wb.active ws0.title = 'csv' ws1 = wb.create_sheet('calc') encoding = locale.getpreferredencoding() temp = pd.read_csv('input.csv', encoding='utf-8', header=None,nrows=3) header = temp.ix[1] + "[" + temp.ix[2] + "]" print(header) print(type(header)) df = pd.read_csv('input.csv', encoding='SHIFT-JIS', header=None,skiprows=3) df.columns = header print(df) print(type(df)) print("\n"'基準Tempを入力↓'"\n") base_temp = input() base_temp = float(base_x) print("\n"'基準Tempは', base_temp, '°C'"\n") print(type(base_temp)) print("\n 判定結果") print(df['Temp[°C]'] == base_temp) print("\n") ```45と入力した場合、以下出力抜粋 判定結果 0 False 1 True 2 False 3 False 4 False Name: Temp[°C], dtype: bool ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) input.csv data name Time Temp unit s °C 0.1 44.5 0.2 45 0.3 46.4 0.4 50 0.5 51 20200115 13:58 追記 ご連絡いただきありがとうございます。 説明不足で申し訳ございません。 ↓Inputcsv ![イメージ説明](7caa363f09472c7a4a86b1e872414911.jpeg) 実験生データのBC列に対して、B列を修正した値をD列に追加したいと考えております。 1. 基準TempをInput入力(例:45) 2. C列にてInput値を検索 3. 合致するC列のセル(例:C5)のindexを取得 4. 3をもとに、B列(例:B5)のセル値を取得 5. B列各値-基準time(B5)をD列に追加 (D4=B4-$B$5, D5=B5-$B$5, D6=B6-$B$5, ・・・) 6. グラフ描写、回帰分析(X軸-B列,Y軸-C列) 2までエラーなく進みましたが、Index関数の使い方含めて3,4,5の手法がわからず ご教示いただけますと幸いでございます。 ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー