微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

迭代,通过熊猫计算

如何解决迭代,通过熊猫计算

我是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:“系列”对象不可调用

你能帮我吗?

解决方法

正如评论中提到的@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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。