这是一个简单的 pandas dataframe ,定义如下:
df = pd.DataFrame( {
‘word’: [‘flower’, ‘mountain’, ‘ocean’, ‘universe’],
‘k’: [1, 2, 3, 4]
} )
df
k word
0 1 flower
1 2 mountain
2 3 ocean
3 4 universe
我想将df更改为此(将每个单词替换为其前k个字母)
df
k word
0 1 f
1 2 mo
2 3 oce
3 4 univ
我有一个想法可以通过使用带有自定义函数的pandas.Series.apply来实现
def get_first_k_letters( x, k ):
return x[:k]
df[‘word’] = df[‘word’].apply( get_first_k_letters, args=(3,) )
df
k word
0 1 flo
1 2 mou
2 3 oce
3 4 uni
我可以通过设置args =(3,)轻松地将每个单词替换为其前3个字母.
但是我想用前k个字母替换每个单词(k并不总是相同),在这种情况下,我不知道args的设置是什么.
有人可以帮我吗?谢谢! (其他不使用pandas.Series.apply的方法也可以!)
Original: https://blog.csdn.net/weixin_36073697/article/details/114358821
Author: 奕成的备忘
Title: python apply函数参数_python-使用pandas.Series.apply时自定义函数中的参数
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/740672/
转载文章受原作者版权保护。转载请注明原作者出处!