python 函数式 panda_python – 反向中的Pandas分裂函数
以下是您的三個問題:
1)為什么df [‘Car_Make’].apply(lambda x:pd.Series(x.split()[:: – 1]))工作?
分解:
> df [‘Car_Make’] – 包含您要操作的數據的列
> .apply() – 一個pandas DataFrame和Series方法,它將函數應用于DataFrame中的每一列或每一行,或者系列中的每一行.
> lambda x: – 將由.apply()方法應用于Series的每一行的函數. x表示記錄對象,在您的情況下是包含Car_Make條目的字符串.
> pd.Series() – 這會將其中的值轉換為pandas系列.
> x.split() – 如第3點所述,x是你的字符串對象,split()是一個字符串方法,當沒有參數傳遞時,默認是按字符串拆分字符串并將每個拆分對象返回到名單.
> [:: – 1] – 一個方便的列表迭代器,用于反轉列表,例如x.split()返回的列表.列表迭代的語法是[start_index:end_index:step].使用-1步驟向后遍歷列表.
把它們放在一起,并且代碼遍歷df [‘Car_Make’]中的每個記錄,拆分它們,反轉拆分項的順序,并將反轉列表作為pandas Series對象返回.
2)使用定義的函數復制它.
你真的很接近,只是函數需要將行/記錄作為其參數,并且需要在.apply()方法中調用.你想要做的是替換lambda x,而不是它的應用方式.
使用你目前所擁有的:
def f(x):
return pd.Series(x.split()[::-1])
df['Car_Make'].apply(f)
3)有更好的方法嗎?
如果你想分割一個字符串,然后反轉項目的順序,不,這是一個很好的方法.如果你只想從右邊開始分割字符串的某個部分,那么rsplit()是一個很好的方法.
總結
以上是生活随笔為你收集整理的python 函数式 panda_python – 反向中的Pandas分裂函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python电话号码对应的字符组合_Py
- 下一篇: r语言中mpg数据_R语言常用的数据处理