数据框是一个二维数据结构,类似于SQL中的表格。借助字典,数组,列表和序列等可以构造数据框;
1.字典创建数据框,则列的名称为key的名称;
import pandas as pd
d = {'one':pd.Series([1,2,3],index= ['a','b','c']),
'two':pd.Series([1,2,3,4],index=['a','b','c','d'])
}
print(pd.DataFrame(d))
one two
a 1.0 1
b 2.0 2
c 3.0 3
d NaN 4
2.列表创建数据框:
import pandas as pd print(pd.DataFrame([[1,2,3,4],[5,6,7,8],[10,20,30,40],[50,60,70,80]],columns=['V1','V2','V3','V4']))
V1 V2 V3 V4 0 1 2 3 4 1 5 6 7 8 2 10 20 30 40 3 50 60 70 80
3.列的选取,删除和增加:
import pandas as pd df = pd.DataFrame([[1,2,3,4],[5,6,7,8],[10,20,30,40],[50,60,70,80]],columns=['V1','V2','V3','V4']) print(df,'\n') df['V5'] = df['V1']*df['V2'] #第一列与第二列相乘; print(df['V5'],'\n') df['Flag'] = df['V2'] > 20 #增加一列; print(df,'\n') del df['Flag'] #删除列 V5 = df.pop('V5') #删除列 print(df,'\n',V5,'\n') df.insert(2,'V6',df['V1']) # 2为插入的位置,V6为列的名称,df['V1']为插入的数值 print(df,'\n')
V1 V2 V3 V4 0 1 2 3 4 1 5 6 7 8 2 10 20 30 40 3 50 60 70 80 0 2 1 30 2 200 3 3000 Name: V5, dtype: int64 V1 V2 V3 V4 V5 Flag 0 1 2 3 4 2 False 1 5 6 7 8 30 False 2 10 20 30 40 200 False 3 50 60 70 80 3000 True V1 V2 V3 V4 0 1 2 3 4 1 5 6 7 8 2 10 20 30 40 3 50 60 70 80 0 2 1 30 2 200 3 3000 Name: V5, dtype: int64 V1 V2 V6 V3 V4 0 1 2 1 3 4 1 5 6 5 7 8 2 10 20 10 30 40 3 50 60 50 70 80
4.一般的选取方式:
操作方式 | 方法 | 结果 |
选择某一列 | def[col] | 序列 |
通过列标签选择某一行 | df.loc[col] | 序列 |
通过具体的位置选择某一行 | df.icol[2] | 序列 |
切行 | df[5:10] | 数据框 |