如何将函数应用于多列以在 Pandas 中创建多列?

TKG

我试图在多个列上应用一个函数,然后创建多个列来计算每个条目的长度。

基本上我有 5 列,索引为 5,7,9,13 和 15,这些列中的每个条目都是表单的字符串,'WrappedArray(|2008-11-12, |2008-11-12)'在我的函数中,我尝试剥离wrappedArray 部分并拆分两个值并(length - 1)使用以下方法计算;

def updates(row,num_col):
    strp = row[num_col.strip('WrappedAway')
    lis  = list(strp.split(','))
    return len(lis) - 1

其中 num_col 是列的索引,cal 取值 5、7、9、13、15。我已经这样做了,但仅适用于 1 列:

fn = lambda row: updates(row,5)
col = df.apply(fn, axis=1)
df = df.assign(**{'count1':col.values})

我基本上想将此函数应用于所有列(不仅仅是上面提到的 5 列),然后在短代码中创建一个与列 5、7、9、13 和 15 关联的单独列,而不是分别为每个值。

我希望我说得有道理。

亚图

关于查找列表中元素的数量,看起来您可以简单地用于str.count()查找','字符串中的数量为了将定义的函数应用于一组列,您可以执行以下操作:

cols = [5,7,9,13,15]

for col in cols:
    col_counts = {'{}_count'.format(col): df.iloc[:,col].apply(lambda x: x.count(','))}
    df = df.assign(**col_counts)

或者,您也可以使用strip('WrappedAway').split(',')as you where using:

def count_elements(x):
    return len(x.strip('WrappedAway').split(',')) - 1

for col in cols:
    col_counts = {'{}_count'.format(col): 
                   df.iloc[:,col].apply(count_elements)}
    df = df.assign(**col_counts)

因此,例如使用以下数据框:

df = pd.DataFrame({'A': ['WrappedArray(|2008-11-12, |2008-11-12, |2008-10-11)', 'WrappedArray(|2008-11-12, |2008-11-12)'],
               'B': ['WrappedArray(|2008-11-12,|2008-11-12)', 'WrappedArray(|2008-11-12, |2008-11-12)'],
               'C': ['WrappedArray(|2008-11-12|2008-11-12)', 'WrappedArray(|2008-11-12|2008-11-12)']})

重新定义我们要计算元素数量的列集:

for col in [0,1,2]:
    col_counts = {'{}_count'.format(col): 
                  df.iloc[:,col].apply(count_elements)}
    df = df.assign(**col_counts)

会产生:

 A  \
0  WrappedArray(|2008-11-12, |2008-11-12, |2008-1...   
1             WrappedArray(|2008-11-12, |2008-11-12)   

                                    B  \
0   WrappedArray(|2008-11-12,|2008-11-12)   
1  WrappedArray(|2008-11-12, |2008-11-12)   

                                  C         0_count  1_count  2_count  
0  WrappedArray(|2008-11-12|2008-11-12)        2        1        0  
1  WrappedArray(|2008-11-12|2008-11-12)        1        1        0 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将函数应用于pandas数据框中的列中的每个值?

来自分类Dev

如何将聚合函数应用于Pandas中数据透视表的所有列

来自分类Dev

如何将正则表达式应用于 Pandas 中的列以查找值,然后对其应用函数?

来自分类Dev

如何将Window函数应用于DataFrame中的多列

来自分类Dev

Pandas DataFrame将功能应用于多列并输出多列

来自分类Dev

Pandas DataFrame将功能应用于多列并输出多列

来自分类Dev

如何使用groupby将多个函数应用于Pandas中的多个列?

来自分类Dev

按列将函数应用于Pandas数据框

来自分类Dev

按列将函数应用于Pandas数据框

来自分类Dev

使用 Args 将函数应用于多个 Pandas 列

来自分类Dev

Pandas:将函数应用于行,写入新列

来自分类Dev

pandas DataFrame,如何将功能应用于特定列?

来自分类Dev

pandas groupby将相同的功能应用于多列

来自分类Dev

熊猫:如何将函数应用于不同的列

来自分类Dev

如何将 NTILE 函数应用于 SQL 列

来自分类Dev

如何将结合了低频类别/值的python代码转换为可应用于任何pandas数据框列的函数?

来自分类Dev

如何将函数应用于多个列以在R中创建多个新列?

来自分类Dev

如何将层次结构或多索引应用于熊猫列

来自分类Dev

将函数应用于pandas数据框中的所有其他列

来自分类Dev

Pandas DataFrame:如何创建多列索引

来自分类Dev

如何将函数应用于两列以创建第三列

来自分类Dev

如何有效地将pandas.Timestamp函数应用于整个数据框/列?

来自分类Dev

如何将函数(BigramCollocationFinder)应用于Pandas DataFrame

来自分类Dev

在熊猫中,如何将函数应用于返回两列的每一列

来自分类Dev

熊猫数据框,如何将单个列分组并将总和应用于多列并添加新的总和列?

来自分类Dev

python pandas-将具有两个参数的函数应用于列

来自分类Dev

如何将 countvectorizer 应用于 Pandas 数据帧中的二元组

来自分类Dev

如何基于组合 1 和多列在 Pandas DataFrame 中创建新列

来自分类Dev

将函数应用于Pandas中的相对行

Related 相关文章

  1. 1

    如何将函数应用于pandas数据框中的列中的每个值?

  2. 2

    如何将聚合函数应用于Pandas中数据透视表的所有列

  3. 3

    如何将正则表达式应用于 Pandas 中的列以查找值,然后对其应用函数?

  4. 4

    如何将Window函数应用于DataFrame中的多列

  5. 5

    Pandas DataFrame将功能应用于多列并输出多列

  6. 6

    Pandas DataFrame将功能应用于多列并输出多列

  7. 7

    如何使用groupby将多个函数应用于Pandas中的多个列?

  8. 8

    按列将函数应用于Pandas数据框

  9. 9

    按列将函数应用于Pandas数据框

  10. 10

    使用 Args 将函数应用于多个 Pandas 列

  11. 11

    Pandas:将函数应用于行,写入新列

  12. 12

    pandas DataFrame,如何将功能应用于特定列?

  13. 13

    pandas groupby将相同的功能应用于多列

  14. 14

    熊猫:如何将函数应用于不同的列

  15. 15

    如何将 NTILE 函数应用于 SQL 列

  16. 16

    如何将结合了低频类别/值的python代码转换为可应用于任何pandas数据框列的函数?

  17. 17

    如何将函数应用于多个列以在R中创建多个新列?

  18. 18

    如何将层次结构或多索引应用于熊猫列

  19. 19

    将函数应用于pandas数据框中的所有其他列

  20. 20

    Pandas DataFrame:如何创建多列索引

  21. 21

    如何将函数应用于两列以创建第三列

  22. 22

    如何有效地将pandas.Timestamp函数应用于整个数据框/列?

  23. 23

    如何将函数(BigramCollocationFinder)应用于Pandas DataFrame

  24. 24

    在熊猫中,如何将函数应用于返回两列的每一列

  25. 25

    熊猫数据框,如何将单个列分组并将总和应用于多列并添加新的总和列?

  26. 26

    python pandas-将具有两个参数的函数应用于列

  27. 27

    如何将 countvectorizer 应用于 Pandas 数据帧中的二元组

  28. 28

    如何基于组合 1 和多列在 Pandas DataFrame 中创建新列

  29. 29

    将函数应用于Pandas中的相对行

热门标签

归档