免费做网站方案,寿阳网站建设,关键词seo优化公司,龙岩天宫山供奉哪些菩萨目录
Pandas数据选择和操作
1 选择列和行
2 过滤数据
3 添加、删除和修改数据 4 数据排序 Pandas数据选择和操作 Pandas是一个Python库#xff0c;用于数据分析和操作#xff0c;提供了丰富的功能来选择、过滤、添加、删除和修改数据。
1 选择列和行
Pandas 提供了多种…目录
Pandas数据选择和操作
1 选择列和行
2 过滤数据
3 添加、删除和修改数据 4 数据排序 Pandas数据选择和操作 Pandas是一个Python库用于数据分析和操作提供了丰富的功能来选择、过滤、添加、删除和修改数据。
1 选择列和行
Pandas 提供了多种方式来选择行和列这取决于您希望获取的数据的类型和结构。
1.1 选择列 1使用列标签 使用列标签来选择一个或多个列。您可以将列标签传递给 DataFrame 的索引器例如 []。 2使用 .loc[] 方法 .loc[] 方法可以根据标签名称选择行和列。对于列选择可以使用 : 选择所有行。 1.2 选择行 1使用行索引 使用行索引来选择一个或多个行。您可以使用 .loc[] 方法或 .iloc[] 方法。 2使用 .iloc[] 方法 .iloc[] 方法使用整数位置来选择行和列。它与 .loc[] 方法的不同之处在于它使用整数索引而不是标签。 示例代码
import pandas as pddata {A: [1, 2, 3], B: [4, 5, 6], C: [7, 8, 9]}
df pd.DataFrame(data)# 选择单个列
column_A df[A]
print(单个列 A:\n, column_A)
# 结果:
# 单个列 A:
# 0 1
# 1 2
# 2 3
# Name: A, dtype: int64# 选择多个列
columns_AB df[[A, B]]
print(多个列 A 和 B:\n, columns_AB)
# 结果:
# 多个列 A 和 B:
# A B
# 0 1 4
# 1 2 5
# 2 3 6# 使用 .loc[] 选择列
column_A_loc df.loc[:, A]
print(使用 .loc[] 选择列 A:\n, column_A_loc)
# 结果:
# 使用 .loc[] 选择列 A:
# 0 1
# 1 2
# 2 3
# Name: A, dtype: int64# 选择多个列
columns_AB_loc df.loc[:, [A, B]]
print(使用 .loc[] 选择多个列 A 和 B:\n, columns_AB_loc)
# 结果:
# 使用 .loc[] 选择多个列 A 和 B:
# A B
# 0 1 4
# 1 2 5
# 2 3 6# 使用 .loc[] 选择单个行
row_0_loc df.loc[0]
print(使用 .loc[] 选择单个行 (索引 0):\n, row_0_loc)
# 结果:
# 使用 .loc[] 选择单个行 (索引 0):
# A 1
# B 4
# C 7
# Name: 0, dtype: int64# 使用 .loc[] 选择多个行
rows_01_loc df.loc[0:1]
print(使用 .loc[] 选择多个行 (索引 0 到 1):\n, rows_01_loc)
# 结果:
# 使用 .loc[] 选择多个行 (索引 0 到 1):
# A B C
# 0 1 4 7
# 1 2 5 8# 使用 .iloc[] 选择单个行
row_0_iloc df.iloc[0]
print(使用 .iloc[] 选择单个行 (整数位置 0):\n, row_0_iloc)
# 结果:
# 使用 .iloc[] 选择单个行 (整数位置 0):
# A 1
# B 4
# C 7
# Name: 0, dtype: int64# 使用 .iloc[] 选择多个行
rows_01_iloc df.iloc[0:2]
print(使用 .iloc[] 选择多个行 (整数位置 0 到 1):\n, rows_01_iloc)
# 结果:
# 使用 .iloc[] 选择多个行 (整数位置 0 到 1):
# A B C
# 0 1 4 7
# 1 2 5 8# 混合选择行和列
subset df.loc[0:1, [A, B]]
print(选择特定的行和列:\n, subset)
# 结果:
# 选择特定的行和列:
# A B
# 0 1 4
# 1 2 52 过滤数据 在Pandas中您可以使用不同的方法来过滤数据根据特定条件筛选出满足条件的数据。以下是一些过滤数据的示例和方法
2.1 基于条件的过滤
通过创建一个条件表达式您可以选择DataFrame中满足条件的行。
import pandas as pddata {A: [1, 2, 3, 4, 5],B: [10, 20, 30, 40, 50]}
df pd.DataFrame(data)# 选择满足条件的行例如 A 列大于 3 的行
filtered_data df[df[A] 3]
print(filtered_data)输出结果 A B
3 4 40
4 5 502.2 使用多个条件
您可以组合多个条件使用 与和 |或等逻辑运算符。
# 选择同时满足多个条件的行例如 A 列大于 2 且 B 列小于 30 的行
filtered_data df[(df[A] 2) (df[B] 30)]
print(filtered_data)输出结果 A B
2 3 302.3 使用 isin() 进行筛选
您可以使用 isin() 方法来筛选出匹配指定值的行。
# 选择 A 列中匹配特定值的行
filtered_data df[df[A].isin([2, 4])]
print(filtered_data)输出结果 A B
1 2 20
3 4 402.4 使用字符串方法
如果您的数据包含字符串列您可以使用字符串方法进行过滤。
data {Name: [Alice, Bob, Charlie, David],Age: [25, 30, 35, 40]}
df pd.DataFrame(data)# 选择包含特定字符串的行
filtered_data df[df[Name].str.contains(b, caseFalse)]
print(filtered_data)输出结果 Name Age
1 Bob 303 添加、删除和修改数据
3.1 添加数据 1添加行 要向 DataFrame 添加新行通常可以创建一个新的数据项然后将其附加到 DataFrame。这可以使用 append 方法来完成。确保设置 ignore_indexTrue 来重置索引。 2添加列 要添加新列只需分配一个新的列名并提供相应的数据。这样可以在 DataFrame 中增加新的列以便存储额外的信息。 3.2 删除数据 1删除行 使用 drop 方法可以删除指定的行。您可以指定要删除的行的索引或标签并使用 axis0 参数来表示删除行。 2删除列 要删除列使用 drop 方法并设置 axis1 参数然后指定要删除的列名。这将允许您从 DataFrame 中移除不需要的列。 3.3 修改数据 1修改特定单元格的值 要修改 DataFrame 中特定单元格的值您可以使用 .loc[] 方法通过指定行和列的标签或索引来更新该单元格的值。 2更新多个值 要批量更新数据通常可以使用条件来选择要更新的行然后赋予新的值。这可以帮助您一次性更新多个数据点而不必一个一个手动修改。 3.4 代码示例
import pandas as pd# 创建一个示例 DataFrame
data {Name: [Alice, Bob, Charlie],Age: [25, 30, 35]}
df pd.DataFrame(data)# 添加新行
new_row pd.Series({Name: David, Age: 40})
df df.append(new_row, ignore_indexTrue)
# 结果:
# Name Age
# 0 Alice 25
# 1 Bob 30
# 2 Charlie 35
# 3 David 40# 添加新列
df[City] [New York, Los Angeles, Chicago, Houston]
# 结果:
# Name Age City
# 0 Alice 25 New York
# 1 Bob 30 Los Angeles
# 2 Charlie 35 Chicago
# 3 David 40 Houston# 删除行
df df.drop(2) # 删除索引为2的行
# 结果:
# Name Age City
# 0 Alice 25 New York
# 1 Bob 30 Los Angeles
# 3 David 40 Houston# 删除列
df df.drop(City, axis1) # 删除名为 City 的列
# 结果:
# Name Age
# 0 Alice 25
# 1 Bob 30
# 3 David 40# 修改特定单元格的值
df.loc[1, Age] 31
# 结果:
# Name Age
# 0 Alice 25
# 1 Bob 31
# 3 David 40# 更新多个值
df.loc[df[Age] 30, Age] 32 # 更新年龄大于30的行的年龄为32
# 结果:
# Name Age
# 0 Alice 25
# 1 Bob 32
# 3 David 32# 输出最终结果
print(df)4 数据排序 在 Pandas 中您可以使用 sort_values() 方法对 DataFrame 中的数据进行排序。以下是有关如何进行列排序、包括升序和降序排序以及如何按多列进行排序。
4.1 按列排序
要按列对数据进行排序首先选择要排序的列名称并使用 sort_values() 方法进行操作。默认情况下数据将按升序排序。 升序排序使用 sort_values(by列名)其中 列名 是您要排序的列的名称。例如df.sort_values(byAge) 将按 Age 列的升序进行排序。 降序排序要按降序排序可以使用 sort_values(by列名, ascendingFalse)其中 列名 是您要排序的列的名称。例如df.sort_values(byAge, ascendingFalse) 将按 Age 列的降序进行排序。 4.2 按多列排序 如果需要按多列进行排序您可以通过提供列名称的列表来实现。首先按列表中的第一个列名进行排序然后按照列表中的下一个列名进行排序。 例如要按 City 列升序排序然后按 Age 列升序排序您可以使用 sort_values(by[City, Age])。 4.3 重置索引 请注意排序后的 DataFrame 可能会保留之前的索引顺序。如果希望重新设置索引以匹配新的排序顺序可以使用 reset_index(dropTrue) 方法来删除旧的索引并创建一个新的整数索引。 4.4 代码示例
import pandas as pd# 创建一个示例 DataFrame
data {Name: [Alice, Bob, Charlie, David],Age: [25, 30, 35, 40],City: [New York, Los Angeles, Chicago, Houston]}
df pd.DataFrame(data)# 按列排序
# 默认按升序排序
df_sorted df.sort_values(byAge)
# 按照 Age 列的升序排序
print(按 Age 列的升序排序:\n, df_sorted)# 按照 Age 列的降序排序
df_sorted_desc df.sort_values(byAge, ascendingFalse)
print(\n按 Age 列的降序排序:\n, df_sorted_desc)# 按多列排序
# 先按 City 列升序排序再按 Age 列升序排序
df_multi_sorted df.sort_values(by[City, Age])
print(\n按 City 列和 Age 列的升序排序:\n, df_multi_sorted)# 恢复索引
df_multi_sorted df_multi_sorted.reset_index(dropTrue)
print(\n重置索引后的 DataFrame:\n, df_multi_sorted)这个示例演示了如何在 Pandas 中按列对数据进行排序包括升序和降序排序以及按多列排序。您还可以使用 reset_index() 方法来重置排序后的 DataFrame 的索引。