迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

遍历 Pandas DataFrame 的列

作者:迹忆客 最近更新:2024/04/21 浏览次数:

DataFrames 可以非常大,可以包含数百行和列。有必要对 DataFrame 中的列进行遍历,并对列进行单独的操作,如回归和许多其他操作。

我们可以使用 for 循环来遍历 DataFrame 的列。for 循环的基本语法如下。

for value in sequence:
    # Body of Loop

我们可以使用多种方法在 DataFrame 上运行 for 循环,例如,getitem 语法([])、dataframe.iteritems() 函数、enumerate() 函数和使用 DataFrame 的索引。


使用 getitem ([])语法在列上遍历 Pandas

我们可以使用列标签,使用 getitem 语法([])在 DataFrame 上运行 for 循环。例如,我们可以使用列标签在 DataFrame 上运行 for 循环。

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

print(df)
print("------------------")
for column in df:
    print(df[column].values)

输出:

    a  b   c   d
0  10  6   7   8
1   1  9  12  14
2   5  8  10   6
------------------
[10  1  5]
[6 9 8]
[ 7 12 10]
[ 8 14  6]

values() 函数用于将对象的元素提取为列表。


使用 dataframe.iteritems() 遍历 Pandas Dataframe 的列

Pandas 提供了 dataframe.iteritems() 函数,该函数有助于对 DataFrame 进行遍历,并将列名及其内容作为系列返回。

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

for (colname, colval) in df.iteritems():
    print(colname, colval.values)

输出:

a [10  1  5]
b [6 9 8]
c [ 7 12 10]
d [ 8 14  6]

使用 enumerate() 遍历 Pandas Dataframe 的列

enumerate() 与 DataFrame 一起返回索引和列标签,这使我们能够对其进行遍历。

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

for (index, colname) in enumerate(df):
    print(index, df[colname].values)

输出:

0 [10  1  5]
1 [6 9 8]
2 [ 7 12 10]
3 [ 8 14  6]

我们可以非常有效地使用上述任何一种方法来遍历 DataFrame。我们还可以单独在列上运行回归等操作。例如,我们可以将最后一列设置为自变量,并将其他列作为因变量运行 OLS 回归,如下例所示。

import pandas as pd
import statsmodels.api as sm
import numpy as np

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

for column in df:
    Y = df["d"]
    X = df[column]
    X = sm.add_constant(X)
    model = sm.OLS(X, Y)
    results = model.fit()
    print(results.params)

输出:

          0         1
d  0.094595  0.418919
          0     1
d  0.094595  0.75
          0         1
d  0.094595  0.959459
          0    1
d  0.094595  1.0

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便