使用df.at及iterrows() 遍历DataFrame数据行

for i in range(len(df)) 遍历了 DataFrame 中的行索引,然后内部循环 for column in df.columns 遍历了每列的标签,使用 df.at[i, column] 访问了每个单元格的值。


# df.at 是 Pandas 中用于访问单个单元格的方法。
# value = df.at[row_label, column_label]
# row_label 是行的标签(索引)。
# column_label 是列的标签。


# 创建一个示例 DataFrame
data = {'A': [1, 2, 3], 'B': ['a', 'b', 'c'], 'C': [4.5, 5.5, 6.5]}
df = pd.DataFrame(data)

# 遍历每行数据
for i in range(len(df)):
    print(f"Row {i}:")
    for column in df.columns:
        value = df.at[i, column]
        print(f"    {column}: {value}")

使用 iterrows() 方法遍历DataFrame的每一行
row.items() 用于迭代每行中的数据。在内部循环中,column 是列的名称(键),value 是该列的值。这样可以遍历DataFrame中的每一行并输出每个数据的列标签和值。

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [1, 2, 3], 'B': ['a', 'b', 'c'], 'C': [4.5, 5.5, 6.5]}
df = pd.DataFrame(data)

# 使用 iterrows() 方法遍历DataFrame的每一行
# row.items() 是 Pandas Series 对象的一个方法,它用于迭代 Series 中的每个元素。Pandas Series 是一维带标签的数组,类似于字典。
for index, row in df.iterrows():
    print(f"Row {index}:")
    for column, value in row.items():
        print(f"    {column}: {value}")

 

  • .iloc:使用整数位置索引(0 到行数-1)来选择行和列。
  • .loc:使用行和列的标签或索引来选择行和列。
import pandas as pd

data = {'A': [1, 2, 3], 'B': ['a', 'b', 'c'], 'C': [4.5, 5.5, 6.5]}
df = pd.DataFrame(data)

column_A = df['A']  # 通过列名 'A' 访问 'A' 列的数据


# .iloc:使用整数位置索引(0 到行数-1)来选择行和列。
# .loc:使用行和列的标签或索引来选择行和列。

row_1 = df.iloc[0]  # 访问索引为 0 的行数据
print(row_1)

row_label_0 = df.loc[0]  # 访问标签为 0 的行数据
print(row_label_0)


queried_data = df.query('A > 1 and B == "b"')  # 使用 query 方法查询数据
print(queried_data)

你可能感兴趣的:(python,开发语言)