简体   繁体   中英

Pandas: adding column with the length of other column as value

I want to add an additional column to an existing dataframe that has the length of the 'seller_name' column as its value.

The output should be like so:

seller_name    name_length
-------------|-------------
Rick         |      4
Hannah       |      6

However, I'm having difficulty getting the code right.

df['name_length']  = len(df['seller_name'])

just gives me the length of the entire column (6845) And

df['nl']  = df[len('seller_name')]

Throws a KeyError.

Does anyone know the correct command to achieve my goal?

Many thanks!

Use the .str string accessor to perform string operations on DataFrames. In particular, you want .str.len :

df['name_length']  = df['seller_name'].str.len()

The resulting output:

  seller_name  name_length
0        Rick            4
1      Hannah            6

Say you have this data:

y_1980 = pd.read_csv('y_1980.csv', sep='\t')

     country  y_1980
0     afg     196
1     ago     125
2     alb      23

If you want to calculate the length of any column you can use:

y_1980['length'] = y_1980['country'].apply(lambda x: len(x))
print(y_1980)

     country  y_1980  length
 0     afg     196       3
 1     ago     125       3
 2     alb      23       3

This way you can calculate the length of any columns you desire.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM