python:pandas中dataframe的基本⽤法汇总更加详细的内容可以查看:(基本函数整理)
⼀.  DataFrame的创建
  创建⼀个空的dataframe
df=pd.DataFrame(columns={"a":"","b":"","c":""},index=[0])
  out:
a    c    b
0  NaN  NaN  NaN
超级表格 ⽤list的数据创建dataframe:
a = [['2', '1.2', '4.2'], ['0', '10', '0.3'], ['1', '5', '0']]
df = pd.DataFrame(a, columns=['one', 'two', 'three'])
print df
  out:
one  two three
0  2  1.2  4.2
1  0  10  0.3
2  1    5    0
  ⽤numpy的矩阵创建dataframe
array = np.random.rand(5,3)
df = pd.DataFrame(array,columns=['first','second','third'])
  ⽤dict的数据创建DataFrame
data = { 'row1' : [1,2,3,4], 'row2' : ['a' , 'b' , 'c' , 'd'] }
df = pd.DataFrame(data)
dict = { 'row1' : [1,2,3,4], 'row2' : ['a' , 'b' , 'c' , 'd'] }
df = pd.DataFrame.from_dict(dict,orient='index').T
  读取csv或者excel⽂件为DataFrame格式
ad_csv('D:/Program Files/example.csv')
  excel⼀个表格中可能有多个sheet,sheetname可以进⾏选取
df = df.read_excel('D:/Program Files/example.xls',sheetname=0)win10vbs代码表白
⼆. DataFrame的⼀些描述和类型
  describe会显⽰dataframe的⼀些基本统计数据,数量、均值、中位数、标准差等
  head会显⽰dataframe的前⼏⾏,后⼏⾏:
print df.describe()
print df.head()
print df.tail(10)
  单独计算某列的统计值
df['one'].sum()
df['one'].mean()
df['one'].count()
df['one'].max()
df['one'].min()
  查看dataframe的数据类型:
print (df.dtypes)
  查看dataframe的数据数⽬:
print (df.size)
mysql可以直接使用吗  查看dataframe的形状:
print (df.shape)
  返回列数:
print (df.ndim)
  查看横纵坐标的标签名:
print (df.axes)
三. DataFrame的切⽚
  iloc索引或切⽚(iloc中只能取整数值):
print df.iloc[1,:] #第1⾏,所有列
print df.iloc[:,[0,2]] #第0⾏,第0列和第2列
print df['one'].iloc[2] #列名索引+⾏号
  loc索引或切⽚(loc中可以取str):
print data.loc[0:1, ['one', three']] #
  筛选出dataframe中有某⼀个或某⼏个字符串的列:
list=['key1','key2']
df = df[df['one'].isin(list)]
  筛选出dataframe中不含某⼀个或某⼏个字符串的列,相当于反选
df = df[~df['one'].isin(list)]
四. 缺失值的处理
  缺失值可以删除也可以⽤均值或者0等数填充:
df.an())flash模拟器
df.fillna(0)
 删除缺失值时可以指定列:
df = df.dropna(subset=['one','two'])
五. 去重、删除⾏或列
  去重需要在subset指定哪⼀列的值进⾏筛选,如果不选择的话默认整⾏的值全部⼀样才去掉
  first表⽰保留第⼀个出现的值所在⾏,last表⽰保留最后⼀个出现的重复值所在的⾏,false表⽰重复的⾏全部删除df=df.drop_duplicates(subset='one',keep='first')
  去除有NaN值的⾏或列(axis=0去除⾏,=1去除列):
df = df.dropna(axis=0)
df = df.dropna(axis=1)
  去除某⼀列:
df = df.drop(['one'],axis=1)
  去除含有某⼀个数的⾏:
网站域名注册查询row_list = == 2].list() # 获得含有该值的⾏的⾏号
df = df.drop(row_list)
六. DataFrame的修改
  修改数据类型
df['one']=pd.DataFrame(df['one'],dtype=np.float)
  修改列名(需要写上所有列名,包括需要修改的和不需要修改的):
  修改列名(只需写上需要修改的列)
  重排序(by可以取多个列名,默认升序):
df = df.sort_values(by=['one'],ascending = True)
df = df.sort_index(axis = 0,ascending = True,by = 'one')
df = df.sort(columns = ['one'],axis = 0,ascending = True)
  修改数据
df.iloc[1,2] = 10
  ⽤已有的列进⾏运算创建新的列
df['new_colume'] = df['one'] + df['two']
七. dataframe更改索引
  当删除掉不需要的⾏时,⾏索引会变的不连续,这时候可以重新设计新的索引
df['index']=range(len(df['one']))
df.set_index('index')
  设置时间序列为索引
python基础代码大全下载dd = pd.date_range(start='4/1/2018',periods=5)
#dd = pd.date_range('4/1/2018','4/5/2018')
df = df.set_index(dd)
⼋. 添加新的⾏,将两个dataframe连接到⼀起
  axis表⽰连接的⽅向,axis=0表⽰两个dataframe的⾏数会增加,如果列名相同则直接共⽤列,如果列名不同会⽣成新的列;axis=1,表⽰会加上新的列
at([df,df],axis=0) # 连接后⾏数是以前的2倍,列数不变
  在dataframe添加新的⾏
df = df.append(df.loc[2,:],,ignore_index=True)
  如果两个dataframe的列名是⼀样的,也可以⽤merge:
df = pd.merge(df,df)
九. DataFrame的输出
  输出为excel或者csv格式,csv⽂件⾥的数据被读取时数据类型默认为object,excel则会保留原有的数据类型df.to_excel('path/filename.xls')
<_csv('path/filename.csv')
  输出为numpy的矩阵格式
matrix = df.ax_matrix()
  输出为dict格式
dict = df.to_dict(orient="dict")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。