我是Python的新手,我想问些问题。
我的代码读取一个csv文件。我想用一栏。我想使用一个方程,该方程根据我要使用的列的值来计算多个值。我正在为if和if使用命令。
我的代码
import pandas as pd
import matplotlib as mpl
import numpy as np
dfArxika = pd.read_csv('AIALL.csv', usecols=[0,1,2,3,4,5,6,7,8,9,10], header=None, index_col=False)
print(dfArxika.columns)
A=dfArxika[9]
for i in A:
if (A(i)>=4.8 and A(i)<66):
IA=(2.2*log10(A(i)/66)+5.5)
elif A(i)>=66:
IA=3.66*log10(A(i)/66)+5.5
else:
IA=2.2*log10(A(i)/66)+5.5
但是命令窗口显示了以下错误:
TypeError:“系列”对象不可调用
你能帮我吗?
答案 0 :(得分:0)
正如评论中提到的@rdas一样,您使用括号()
而不是括号[]
来索引列的值。
我不确定您的示例中IA
是什么,但这可能有用:
for i in range(len(dfArxika)):
if (A.loc[i, 9]>=4.8 and A.loc[i, 9]<66):
IA=(2.2*log10(A.loc[i, 9]/66)+5.5)
elif A.loc[i, 9]>=66:
IA=3.66*log10(A.loc[i, 9]/66)+5.5
else:
IA=2.2*log10(A.loc[i, 9]/66)+5.5