添加具有另一列的字符串长度和累加列?

时间:2019-06-03 09:16:16

标签: python python-3.x dataframe python-3.7

给出以下dataframe

df = pd.DataFrame({'col1': ["kuku", "pu", "d", "fgf"]})

我想计算每个字符串的长度并添加一个累加列。

我正在尝试使用df.str.len("col1")来执行此操作,但是会引发错误。

5 个答案:

答案 0 :(得分:4)

使用str.len()

例如:

import pandas as pd

df = pd.DataFrame({"col1": ["kuku", "pu", "d", "fgf"]})
df["New"] = df["col1"].str.len()
print(df)
print(df["New"].cumsum())   #cumulative sum

输出:

   col1  New
0  kuku    4
1    pu    2
2     d    1
3   fgf    3

0     4
1     6
2     7
3    10
Name: New, dtype: int64

答案 1 :(得分:3)

数据帧初始化代码错误。试试这个。

>>> df = pd.DataFrame({'col1': ["kuku", "pu", "d", "fgf"]})
>>> df
   col1
0  kuku
1    pu
2     d
3   fgf

或者,您也可以使用map

>>> df.col1.map(lambda x: len(x))
0    4
1    2
2    1
3    3

计算长度。

>>> df['len'] = df.col1.str.len()
>>> df
   col1  len
0  kuku    4
1    pu    2
2     d    1
3   fgf    3

答案 2 :(得分:3)

或 将熊猫作为pd导入

df = pd.DataFrame({ "col1" : ["kuku", "pu", "d", "fgf"]})
df['new'] = df.col1.apply(lambda x: len(x))

答案 3 :(得分:1)

  

您的 col1 参数是pd.DataFrame()的未知参数。

     

使用 data 作为参数名称...然后添加具有长度的新列

    data = {'col1': ["kuku", "pu", "d", "fgf"]}
    df = pd.DataFrame(data=data)
    df["col1 lenghts"] = df["col1"].str.len()
    print(df)

答案 4 :(得分:0)

这是我认为解决了我问题的另一种方法:

df = pd.DataFrame({"col1": ['dilly macaroni recipe salad', 'gazpacho', 'bake crunchy onion potato', 'cool creamy easy pie watermelon', 'beef easy skillet tropical', 'chicken grilled tea thigh', 'cake dump rhubarb strawberry', 'parfaits yogurt', 'bread nut zucchini', 'la salad salmon']})

df["title_len"] = df[1].str.len()

df["cum_len"] = df["title_len"].cumsum()