如何设置 pandas dataframe 中特定单元格的值
您可以使用以下基本语法来设置 pandas DataFrame 中特定单元格的值:
#set value at row index 0 and column 'col_name' to be 99 df. at [0, ' col_name '] = 99
以下示例展示了如何在实践中通过以下 pandas DataFrame 使用此语法:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
示例 1:设置 Pandas 中单元格的值
以下代码显示如何将“points”列的第三个索引位置的值设置为 99:
#set value in 3rd index position and 'points' column to be 99 df. at [3, ' points '] = 99 #view updated DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 99 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
请注意,“points”列的第三个索引位置中的值已更改,并且 DataFrame 中的所有其他值保持不变。
示例2:设置Pandas中多个单元格的值
以下代码展示了如何同时设置范围内多个单元格的值:
#set values in index positions 0 to 3 in 'points' column to be 99 df. at [0:3, ' points '] = 99 #view updated DataFrame df points assists rebounds 0 99 5 11 1 99 7 8 2 99 7 10 3 99 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
示例 3:在 Pandas 中有条件地设置值
下面的代码展示了如何仅当points列中的值大于20时将“rebounds”列中的值设置为99:
#set values in 'rebounds' column to be 99 if value in points column is greater than 20
df. loc [df[' points ']>20, [' rebounds ']] = 99
#view updated DataFrame
df
points assists rebounds
0 25 5 99
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 99
6 25 9 99
7 29 4 99
请注意,如果得分列中的值大于 20,则篮板列中的每个值都会更改为 99。
所有其他值保持不变。
其他资源
以下教程解释了如何在 pandas 中执行其他常见功能:
如何从 Pandas DataFrame 获取单元格值
如何获取 Pandas DataFrame 的第一行
如何从 Pandas DataFrame 获取第一列
如何获取列与 Pandas 中的值匹配的行的索引