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])
'''
總結
以上是生活随笔為你收集整理的python frame用法_python—dataframe用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手取消大小周快手取消大小周薪资
- 下一篇: python编写正则表达式匹配单词_Py