常德网站建设网站,怎样做校园网站,福州企业网站制作,晋城企业网站建设目录
0 有一个比较麻烦琐碎的地方
1 python pandas.Dataframe
2 pd.concat() 可以合并 pd.Dataframe
2.1 pd.concat() 合并规则
3 pd.Dataframe.drop() 删除行列的操作
4 pd.Dataframe 列操作
5 pd.Dataframe 行操作
5.1 sample_dataframe2.head(n2) 取前面的n行2) 取前面的n行不能任意
5.2 sample_dataframe2.query(查询条件)取前面的n行不能任意
6 可以用pd.Dataframe().query() 方法 同时进行行和列筛选
7 序列 pandas.Series(
7.1 什么是序列
7.2 将pd.Dataframe取出1列会变成pd.Series
7.3 序列 pd.series 和数组array() 的转化 0 有一个比较麻烦琐碎的地方
所有的方法里下面方法的参数基本都是加一个括起来基本就够了有些地方需要多层的中括号[] 比如 [ [ ] ] 1 python pandas.Dataframe
本质是一个二维表特殊点在于多了一个默认的序号列语法pd.Dataframe({key1:value1,key2:value2}) 2 pd.concat() 可以合并 pd.Dataframe
2.1 pd.concat() 合并规则
pd.concat() 语法pd.concat([pd.Dataframe1,pd.Dataframe1],axis0/1) pd.concat() 可以指定合并的方向默认是axis0也就是按行的方向合并pd.concat() 可以指定合并的方向如果是axis1就是按列的方向进行合并
import numpy as np
import pandas as pd
import scipy as sp# 可以用list 生成np.array()
sample_array1np.array([1,2,3])
sample_array2np.array([10,20,30])
sample_array3np.array([100,200,300])# 进一步可以用np.array()生成pd.Series
# 注意pd.Series 首字母一定大写
sample_series1pd.Series(sample_array1)
print(sample_series1)
print()# 进一步也可以用np.array()生成pd.DataFrame
# 注意pd.DataFrame 首字母一定大写
sample_dataframe1pd.DataFrame({col1:sample_array1,col2:sample_array2,col3:sample_array3,})
print(sample_dataframe1)
print()sample_dataframe2pd.DataFrame({col1:sample_array1,col2:sample_array21,col3:sample_array31,})
print(sample_dataframe2)
print()print(pd.concat([sample_dataframe1,sample_dataframe2])) # pd.concat()默认合并是axis0, 按行合并
print()print(pd.concat([sample_dataframe1,sample_dataframe2],axis1))
print() 3 pd.Dataframe.drop() 删除行列的操作
pd.Dataframe.drop()pd.Dataframe.drop(行名/列名,axis0/1)axis0 是行注意列名一般是字符串如 col1注意行名一般是数字如 1 4 pd.Dataframe 列操作
pd.Dataframe 数据帧操作列的办法有两种
直接引用 pd.Dataframe 对象的属性pd.Dataframe.列名不加字符串引号类切片的列操作方法pd.Dataframe[列名1]pd.Dataframe[[列名1,列名2,列名3]] #注意是双层中括号 5 pd.Dataframe 行操作
行操作有两种方法sample_dataframe2.head() 方法sample_dataframe2.query()方法 5.1 sample_dataframe2.head(n2) 取前面的n行不能任意
n 只能是前面的连续列
print(sample_dataframe2)
print()
print(sample_dataframe2.head(n2))5.2 sample_dataframe2.query(查询条件)取前面的n行不能任意
sample_dataframe2.query(查询条件)sample_dataframe2.query(可以是任意的一个行条件不要求非是index的值)sample_dataframe2.query(条件1 | 条件2) # or 关系sample_dataframe2.query(条件1 条件2) # and关系 6 可以用pd.Dataframe().query() 方法 同时进行行和列筛选 print(sample_dataframe2.query(col3301)[[col2,col3]]) 7 序列 pandas.Series( 7.1 什么是序列 特殊之处默认带一个序号列可以认为是带 序号的 数组/列表pandas.Series( data, index, dtype, copy) data输入的数据可以是列表、常量、ndarray 数组等。 index索引值必须是唯一的与data的长度相同默认为np.arange(n) dtype数据类型 copy是否复制数据默认为false 7.2 将pd.Dataframe取出1列会变成pd.Series
将pd.Dataframe取出1列会变成pd.Series也就是说 pd.Series 是 pd.Dataframe 的其中1列注意方法不同有差别如果是单取出1列生成pd.Series如果是单取出多列生成的只是更小的pd.Dataframe并不是pd.Series很好理解不要搞错。
print(sample_dataframe2)
print()
print(sample_dataframe2.col2)
print()
print(sample_dataframe2[col2])
print()
print(sample_dataframe2[[col2]])
print()print(type(sample_dataframe2))
print()
print(type(sample_dataframe2.col2))
print()
print(type(sample_dataframe2[col2]))
print()
print(type(sample_dataframe2[[col2]]))7.3 序列 pd.series 和数组array() 的转化
pd.series.values 即可以生成对应的 np.array() 数组
print(sample_dataframe2)
print()
print(sample_dataframe2.col2)
print()
print(sample_dataframe2.col2.values)
print()print(type(sample_dataframe2))
print()
print(type(sample_dataframe2.col2))
print()
print(type(sample_dataframe2.col2.values))
print()