如何使用索引为 Pandas DataFrame 中的特定单元格设置值
Pandas 是一个以数据为中心的 python 软件包,它使 python 中的数据分析变得容易且一致。在本文中,我们将研究使用索引访问和设置 pandas DataFrame 数据结构中特定单元格值的不同方法。
使用 pandas.dataframe.at
方法为 pandas DataFrame 中的特定单元格设置值
当需要在 DataFrame 中设置单个值时,主要使用 pandas.dataframe.at
方法。
import pandas as pd
sample_df = pd.DataFrame(
[[10, 20, 30], [11, 21, 31], [15, 25, 35]],
index=[0, 1, 2],
columns=["Col1", "Col2", "Col3"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))
sample_df.at[0, "Col1"] = 99
sample_df.at[1, "Col2"] = 99
sample_df.at[2, "Col3"] = 99
print "\nModified DataFrame"
print (pd.DataFrame(sample_df))
输出:
Original DataFrame
Col1 Col2 Col3
0 10 20 30
1 11 21 31
2 15 25 35
Modified DataFrame
Col1 Col2 Col3
0 99 20 30
1 11 99 31
2 15 25 99
你可能会注意到,在访问单元格时,我们已将索引和列指定为 .at[0, 'Col1']
,其中第一个参数是索引,第二个参数是列。
如果你省略列而仅指定索引,则该索引的所有值都将被修改。
使用 Dataframe.set_value()
方法为 pandas DataFrame 中的特定单元格设置值
另一种选择是 Dataframe.set_value()
方法。这与以前的方法非常相似,一次访问一个值,但是语法略有不同。
import pandas as pd
sample_df = pd.DataFrame(
[[10, 20, 30], [11, 21, 31], [15, 25, 35]],
index=[0, 1, 2],
columns=["Col1", "Col2", "Col3"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))
sample_df.set_value(0, "Col1", 99)
sample_df.set_value(1, "Col2", 99)
sample_df.set_value(2, "Col3", 99)
print "\nModified DataFrame"
print (pd.DataFrame(sample_df))
输出:
Original DataFrame
Col1 Col2 Col3
0 10 20 30
1 11 21 31
2 15 25 35
Modified DataFrame
Col1 Col2 Col3
0 99 20 30
1 11 99 31
2 15 25 99
使用 Dataframe.loc
方法为 pandas DataFrame 中的特定单元格设置值
设置特定单元格的语法略有不同的另一种可行方法是 dataframe.loc
方法。
import pandas as pd
sample_df = pd.DataFrame(
[[10, 20, 30], [11, 21, 31], [15, 25, 35]],
index=[0, 1, 2],
columns=["Col1", "Col2", "Col3"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))
sample_df.loc[0, "Col3"] = 99
sample_df.loc[1, "Col2"] = 99
sample_df.loc[2, "Col1"] = 99
print "\nModified DataFrame"
print (pd.DataFrame(sample_df))
输出:
Original DataFrame
Col1 Col2 Col3
0 10 20 30
1 11 21 31
2 15 25 35
Modified DataFrame
Col1 Col2 Col3
0 10 20 99
1 11 99 31
2 99 25 35
本文中所有上述方法都是在 Pandas DataFrame
中修改或设置特定单元格的便捷方法,语法和规范上有微小差异。
相关文章
Pandas 和 Seaborn 的 KDE 绘图可视化
发布时间:2024/04/20 浏览次数:191 分类:Python
-
本文演示了如何将 KDE 绘图可视化与 Pandas 和 Seaborn 一起使用。
Pandas 中如何获取特定列满足给定条件的所有行的索引
发布时间:2024/04/20 浏览次数:71 分类:Python
-
我们可以使用简单的索引操作,np.where()函数和 query()方法来获取特定列满足给定条件的所有行的索引。
如何在 Pandas 中遍历 DataFrame 的行
发布时间:2024/04/20 浏览次数:85 分类:Python
-
我们可以使用索引属性 loc(),iloc(),iterrows(),itertuples(),iteritems()和 apply()方法遍历 Pandas 中的行。
如何在 Pandas DataFrame 中创建一个空列
发布时间:2024/04/20 浏览次数:183 分类:Python
-
我们可以使用简单的赋值运算符,reindex(),assign()和 insert()方法向 Pandas 中的 DataFrame 添加一个空列。
如何根据 Pandas 中的列值过滤 DataFrame 行
发布时间:2024/04/20 浏览次数:126 分类:Python
-
我们可以使用布尔索引,位置索引,标签索引和 query()方法基于单个值或多个值过滤 DataFrame 行。
如何在 Pandas 中将 DataFrame 列转换为字符串
发布时间:2024/04/20 浏览次数:124 分类:Python
-
本文介绍如何将 Pandas DataFrame 列转换为字符串。它包括 astype(str)方法和 apply 方法。
如何计算值在 Pandas DataFrame 中出现的频率
发布时间:2024/04/20 浏览次数:187 分类:Python
-
在 Pandas 库中使用 df.groupby().size()/ df.groupby().count()/ Series.value_counts()方法对频率进行计数
如何从 Pandas DataFrame 单元格获取值
发布时间:2024/04/20 浏览次数:103 分类:Python
-
本教程演示了使用 iloc,iat,at,values[]方法从 Pandas DataFrame 的单元格获取值。