[英]How do I apply a regex substitution in a string column of a DataFrame?
[英]How do I apply this string length function to a column in my dataframe?
我写了一个返回字符串长度的函数,
def string_length():
string = input("Please enter a string: ")
"""This prompts the user to enter a string"""
return(len(string))
我有一个名为film
的数据集,其中有一列名为Phrase
。 我想向我的数据集添加一个新列,它将我的函数应用于 Phrase 列并输入短语中每个值的字符串长度。
我尝试使用以下代码:
film['Phrase length']=film['Phrase'].apply(string_length)
但是,这会返回错误:
类型错误:string_length() 采用 0 个位置参数,但给出了 1 个
我需要做什么来修复此代码?
我确定我错过了一些非常愚蠢的东西,但我对 python 还是很陌生!
该函数提示用户进行一些输入。 如果您将其应用于数据帧,这将不起作用。 但是,您可以应用内置的 len() 函数:
film['Phrase length'] = film.Phrase.apply(len)
如果我正确理解您的问题,那么您一定是在寻找这个:
def string_length(str):
x = len(str)
return x
df['Phrase length'] = df['Phrase'].apply(lambda x: string_length(x))
或者,
df['Phrase length'] = df['Phrase'].map(string_length)
更新:
如果您想使用 input() 输入您选择的列名,请使用以下命令:
def string_length(data):
print("Please enter column name:")
a = input()
data[a+'_len'] = data[a].astype(str).apply(lambda x: len(x))
其次是:
string_length(df)
输入您选择的列名,然后尝试打印数据框。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.