我有一個有兩列的熊貓數據框。我需要在不影響第二列的情況下更改第一列的值,並只更改第一列值就可以取回整個數據框。我該如何做到這一點使用適用於熊貓?熊貓:如何將單個列的apply()函數使用?
回答
給定的樣本數據幀df
爲:
a,b
1,2
2,3
3,4
4,5
你想要的是:
df['a'] = df['a'].apply(lambda x: x + 1)
返回:
a b
0 2 2
1 3 3
2 4 4
3 5 5
'應用程序'應該永遠不會在這種情況下使用 –
@TedPetrou你是完全正確的,這只是一個例子,就像OP所要求的那樣,如何在單個列上應用一個通用函數。 –
對於一列更好地使用map()
,像這個:
df = pd.DataFrame([{'a': 15, 'b': 15, 'c': 5}, {'a': 20, 'b': 10, 'c': 7}, {'a': 25, 'b': 30, 'c': 9}])
a b c
0 15 15 5
1 20 10 7
2 25 30 9
df['a'] = df['a'].map(lambda a: a/2.)
a b c
0 7.5 15 5
1 10.0 10 7
2 12.5 30 9
爲什麼'map()'比'apply()'更適合單列? – ChaimG
我認爲它應該是'lambda a:a/2'。 –
根本不需要函數。您可以直接在整列上工作。
實施例的數據:
>>> df = pd.DataFrame({'a': [100, 1000], 'b': [200, 2000], 'c': [300, 3000]})
>>> df
a b c
0 100 200 300
1 1000 2000 3000
一半所有在a
列值:
>>> df.a = df.a/2
>>> df
a b c
0 50 200 300
1 500 2000 3000
- 1. 使用熊貓groupby()+ apply()與參數
- 2. 熊貓:我如何將一個列名傳遞給一個可以在'apply'中使用的函數?
- 3. 將函數應用到熊貓的列
- 4. 如何做熊貓dataframe.groupby(these_columns).apply(函數爲those_columns)?
- 5. 將熊貓函數應用於多列
- 6. 熊貓dataframe groupby + apply +新列慢
- 7. 熊貓變換()vs apply()
- 8. 如何使用apply函數和apply-family的函數?
- 9. 對熊貓數據框元素中的數組使用'apply'
- 10. 熊貓如何將多個函數應用於數據框
- 11. 將參數傳遞給熊貓數據框的語法apply函數
- 12. 如何將函數應用於熊貓數據框中列中的每個值?
- 13. 在datetime64系列中使用'apply`在熊貓
- 14. 如何將熊貓數據框和列傳遞給函數
- 15. 熊貓:將groupby-apply與join/merge結合使用
- 16. 如何在熊貓中使用多列來映射函數?
- 17. 使用apply來使用特定函數快速填充熊貓數據框的列?
- 18. 如何使用apply函數將多個數據表讀入R?
- 19. 如何移動一個熊貓數據幀列的單個值
- 20. 使用read_fwf函數調用熊貓系列函數
- 21. 將熊貓的數據幀組迭代轉換爲groupby with apply
- 22. 是熊貓0.16.1 groupby()。apply()方法多次應用函數到同一個組?
- 23. 將函數應用於熊貓數據框中的列
- 24. 使用熊貓系列提取熊貓數據框的值
- 25. 如何將函數應用於熊貓數據幀組
- 26. Python熊貓 - 在數據框中使用apply funtion和創建新列
- 27. python,如何將熊貓系列轉換爲熊貓DataFrame?
- 28. 如何使用熊貓分成兩列?
- 29. 使用熊貓/ python將數據框中的兩列數字組合成單列
- 30. 如何應用一個函數接收兩個參數作爲與熊貓列?
請張貼一些輸入採樣數據和期望的輸出。 –
在這種情況下,你幾乎不應該使用'apply'。直接在列上操作。 –