【问题标题】:Putting a value from a method into a data frame将方法中的值放入数据框中
【发布时间】:2017-03-08 18:31:26
【问题描述】:
def number():
    for i in dataframe:
        if i > 10:
            print('large')
        elif i <= 10:
            print('small')                 
number()
small
small
large
small

是否有任何可能的方法可以合并这些值,特别是从方法中获得的值,例如上面的示例到 DF 中,例如 pandas 数据框?

【问题讨论】:

  • 而不是printing 值搜索如何在DataFrame 中插入值
  • 让我们知道您在搜索向数据框添加值时的想法
  • 这是pandas 数据框吗?
  • 是的,这是一个熊猫数据框。我可能应该改写。我知道如何将值(例如 small 和 large)放入 DF 中,但我想知道是否有办法获取该方法给出的值,并直接将它们转移到 DF 中而无需手动放入。

标签: python methods


【解决方案1】:

pandas 要记住的主要事情是,在许多情况下,它需要向量值运算符和函数。答案是使用 numpy

这似乎可以满足您的需求。请注意,where 粗略地说,是您的函数的向量值等价物。

>>> import pandas as pd
>>> import numpy as np
>>> A = np.array([1,9,10,11,15])
>>> B = len(A)*[2]
>>> df = pd.DataFrame({'A': A, 'B': B})
>>> df
    A  B
0   1  2
1   9  2
2  10  2
3  11  2
4  15  2
>>> df.assign(C=np.where(A>10,len(A)*['large'],len(A)*['small']))
    A  B      C
0   1  2  small
1   9  2  small
2  10  2  small
3  11  2  large
4  15  2  large

【讨论】:

  • 这绝对有效。所以有了这个,你基本上是在 pandas 数据框中创建函数吗?另外,您放置 B 变量的逻辑是什么?
猜你喜欢
  • 2023-01-12
  • 1970-01-01
  • 1970-01-01
  • 2019-08-06
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 2023-03-22
  • 2018-03-08
相关资源
最近更新 更多