python frame用法_python—dataframe用法

#行处理

#df.iloc[1] 行索引号——获取行

#df.iloc[0,1] 行列索引号——获取一个元素

#df.iloc[[0,1]] 双括号默认都是行索引号——获取n行

#df.iloc[0:2,1:3] 行列索引号——获取区域元素

#df.loc["A"] 行名称——获取行

#df.loc["A","c1"] 行列名称——获取一个元素

#df.loc[["A","B"]] 双括号默认都是行名称号——获取n行

#df.loc["A":"B","c1":"c2"] 行列名称——获取区域元素

#列处理

#df["c2"] 列名称——获取列

#df[["c1","c2"] 列名称——获取n列

#修改某一值

#df.iloc[0,1] = 2

#df.loc["A","c1"] =2

#修改某一行信息 map与apply 当apply中axis=0时表示行

#df.loc["A"]=df.loc["A"].map(lambda x:x*2) -- A行信息数*2

#df.iloc[1]=df.iloc[1].map(lambda x:x*2) -- 索引号1,行信息数*2

#df.loc['A'] = df.apply(lambda x: x['B'] + 2 * x['C'], axis=0)

#修改某一列信息 map与apply 当apply中axis=1时表示列

#df["c1"]=df["c1"].map(lambda x:x*2) -- c1列信息数*2

#df['c3'] = df.apply(lambda x: x['c1'] + 2 * x['c2'], axis=1)

#map、apply,mapapply比较

#apply对DataFrame的数据进行按行或按列操作,axis=0时表示行,axis=1时表示列,可添加min与max

#apply运用到Series中,执行的是对每个元素的运算

#applymap自动对DataFrame每一个元素进行处理,不能添加统计函数比如min与max

#map 是对 行、列,series 等 进行每个元素的单独操作,不能添加统计函数比如min与max

#某列值为**显示此列

#df[df['c1']==9] -- 列c1值为9的行

import numpy as np

import pandas as pd

a=np.random.randint(5,10,size=(5,5))

df = pd.DataFrame(a,index=["A","B","C","D","E"],columns=['c1', 'c2', 'c3', 'c4', 'c5'])

#print(type(df))

print(df)

'''

#iloc 按照索引号切片取信息左闭右开

df1=df.iloc[0:2,1:3]

print(df1)

#loc 按照行列名称取信息

df2=df.loc["A":"B","c2":"c3"]

print(df2)

#列索引

print(df['c2'])

# 返回前n行

print(df.head(2))

# 返回后n行

print(df.tail(2))

# 按照行列名称取信息,n个注意用【 】扩起

df3 = df[["c2","c3"]]

print(df3)

#修改某一数据

df.iloc[1,2]="apple"

print(df)

#修改列数据 使用map方法,其中lambda函数中x代表当前的列

#df['c2'] = df['c2'].map(lambda x: x**2)

#print(df)

#修改行数据

df.iloc[1]=df.iloc[1].map(lambda x:x*2)

#修改多列数据 apply方法 c3=c1+2*c2

df['c3'] = df.apply(lambda x: x['c1'] + 2 * x['c2'], axis=1)

#排序

print(df['c2'].sort_values(ascending=False))

#apply使用统计函数

df1=df.apply(lambda x: x.max()-x.min())

#print(df)

#增加列数据

df["c6"]=[1,2,3,4,5]

print(df)

#某列数值等于**显示此列

print(df[df['c1']==9])

'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值