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

如何获取没有索引的pandas DateFrame单行的内容

我有一个pandas dataFrame,它由许多列组成,但只有一行.当我遍历每一列以获得每行的包含时,我得到2个单独的数字;即一个用于索引和数字本身.
 假设df是我的dataFrame,我会执行以下操作

for k,v in df.iteritems():

      if df[k]>df.mean(axis=1):
         print(" do something")

我收到以下错误:ValueError:系列的真值是不明确的.使用a.empty,a.bool(),a.item(),a.any()或a.all().

当我打印df [k]时,我有两个值0 num

如何删除一个值?

编辑:

这是我的数据帧的结构

     column1    column2    column3
  0     2           3          -4

我现在有

for k,v in df.iteritems():

      if df[k][0]>3* abs(df.mean(axis=1)):
         print(" do something")

现在的错误是:TypeError:未确定对象的len()

解决方法:

你得到一个系列返回,只需要获得标量值:

df[k].values[0]

例:

In [190]:
df = pd.DataFrame(columns=list('abc'), data = np.random.randn(1,3))
df

Out[190]:
          a         b         c
0  0.994306 -0.340043 -0.551422

In [191]:    
for col in df:
    print(df[col].values[0])

0.994306161647
-0.340042912281
-0.551421752498

如果你不喜欢打字,这也会有用:

df[k][0]

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

相关推荐