栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pandas中以Series为基础对所有元素进行统一的操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas中以Series为基础对所有元素进行统一的操作

在使用pandas对数据进行处理时,假设对于二维数组,每一行是一个数据,每一列是一个特征,可能需要对所有数据的特征进行一些缩放、平方、增加数值等操作。

本文中介绍的方式,将每一个特征都取出作为一个 Series 来对当前 Series (特征)下的所有数据进行统一的操作。

# 假设 X 为所有的数据矩阵, feature 为某一个特征,其数据类型为Dataframe中的Series
feature = X[0] # 假设 feature 取第0列表示的特征

new_f1 = feature + 1		# 所有数据的第0个特征都+1
new_f2 = feature ** 2		# 平方
new_f3 = 1 / feature		# 取倒数
new_f4 = np.sqrt(feature)	# 开放

下面是对数据X的每一列进行一系列操作的代码和结果展示:

import pandas as pd
import numpy as np

if __name__ == '__main__':
    X = [[1, 2], [3, 4], [5, 6], [7, 8]]
    X = pd.Dataframe(X)
    col_nums = 2
    column_counter = col_nums
    print("原数据:")
    print(X)
    X_copy = X.copy(deep=True)
    for column in X:
        X[column + column_counter] = X_copy[column] ** 2
    column_counter += col_nums

    for column in X.iloc[:, 0:col_nums]:
        X[column + column_counter] = 1 / X_copy[column]
    column_counter += col_nums

    for column in X.iloc[:, 0:col_nums]:
        X[column + column_counter] = np.sqrt(X_copy[column])
    print("进行统一操作后的数据:")
    print(X)
    column_counter += col_nums
原数据:
   0  1
0  1  2
1  3  4
2  5  6
3  7  8
进行统一操作后的数据:
   0  1   2   3         4         5         6         7
0  1  2   1   4  1.000000  0.500000  1.000000  1.414214
1  3  4   9  16  0.333333  0.250000  1.732051  2.000000
2  5  6  25  36  0.200000  0.166667  2.236068  2.449490
3  7  8  49  64  0.142857  0.125000  2.645751  2.828427
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283570.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号