這篇文章主要為大家展示了“如何使用Lambda來修改Pandas數(shù)據(jù)框中的值”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何使用Lambda來修改Pandas數(shù)據(jù)框中的值”這篇文章吧。
創(chuàng)新互聯(lián)建站于2013年開始,先為臥龍等服務(wù)建站,臥龍等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為臥龍企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
假設(shè)我們有以下df數(shù)據(jù)框:
data = [[1,2,3], [4,5,6], [7,8,9]] df = pd.DataFrame(data, columns=[0,1,2]) IN[1]: print (df) OUT[1]: 0 1 2 0 1 2 3 1 4 5 6 2 7 8 9
現(xiàn)在由于某種原因,你需要在第0列的數(shù)字上添加01的值。一個(gè)常見的方法是定義一個(gè)函數(shù)來完成這個(gè)任務(wù),然后用 apply 函數(shù)來修改一列的值。
def add_numbers(x): return f'{x}01' df[0] = df[0].apply(add_numbers) IN[1]: print (df) OUT[1]: 0 1 2 0 101 2 3 1 401 5 6 2 701 8 9
這并不復(fù)雜,但是在數(shù)據(jù)框中對每一個(gè)改變創(chuàng)建一個(gè)函數(shù)是不切實(shí)際的。這時(shí)lambda就派上了用場。
lambda函數(shù)類似于普通的Python函數(shù),但它可以不使用名稱來定義,這使得它成為一個(gè)漂亮的單行代碼。之前使用的代碼可以用以下方式來減少。
df[0] = df[0].apply(lambda x:f'{x}01')
當(dāng)你不知道是否可以訪問一個(gè)系列的屬性來修改數(shù)據(jù)時(shí),Lambda變得非常有用。
例如,列0包含字母,我們想把它們大寫。
# 如果你知道.str的存在,你可以這樣做 df[0] = df[0].str.title() # 如果你不知道.str,你仍然可以用lambda大寫 df[0] = df[0].apply(lambda x: x.title())
以上是“如何使用Lambda來修改Pandas數(shù)據(jù)框中的值”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!