DataFrame基础知识

初始化空的DataFrame

import pandas as pd
empty_df = pd.DataFrame(columns=['A','B','C','D'])

创建了四列,每一列的内容都是空的

在这里插入图片描述

展示数据规模

1、行数和列数

df.shape

2、按某一列名统计数据

df.groupby('column_name').count()

在这里插入图片描述

DataFrame数据拼接合并

pd.merge()

a=pd.DataFrame({'a':[1,2,3],'b':[2,3,4]})
b=pd.DataFrame({'a':[11,22,33],'c':[22,33,44]})
c=pd.merge(a,b)
c

在这里插入图片描述

a和b的同名列表被合并,但是都是空说明默认连接形式是内连接,即二者默认把相同列名作为查找的条件,若是查找不到相同的值返回空。

加入连接条件
c=pd.merge(a,b,how='outer',on='a')
c

在这里插入图片描述

pd.concat()

pd.concat(a,b)
# 横向拼接
pd.concat([a,b], axis=1)
# 纵向拼接
pd.concat([a,b], axis=0)

报错:

TypeError: first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"

使用pandas.concat(a,b)进行合并的时候,需要是list的形式

pd.concat([a,b])

在这里插入图片描述
它把a,b两个表完全拼接在一起,默认拼接形式是并集,我们可以通过修改参数来修改拼接模式,以及拼接方向,也可以重述索引。

在这里插入图片描述

在这里插入图片描述

更新权重

d=pd.concat([a,b])
d.index=list(range(0,6))
d

在这里插入图片描述

赋值

通过赋值语句可以使得单列数据的拼接。

e=pd.Series(list('abc'))
a['c']=e
a

在这里插入图片描述

DataFrame.join()

a.join(b)

报错:

ValueError: columns overlap but no suffix specified: Index(['a', 'c'], dtype='object')

在这里插入图片描述

列表不能有重名

按行遍历 DataFrame

在这里插入图片描述

  • iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。
  • itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过row[name]对元素进行访问,比iterrows()效率高。
  • iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问。
inp = [{'c1':10, 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}]
df = pd.DataFrame(inp)
df

在这里插入图片描述

1、按行 iterrows()

row[‘name’]

for index, row in df.iterrows():
    print(index, row['c1'], row['c2'])

0 10 100
1 11 110
2 12 123

2、按行 itertuples()

getattr(row, ‘name’)

for row in df.itertuples():
    print(getattr(row, 'c1'), getattr(row, 'c2'))

10 100
11 110
12 123

3、按列 iteritems()

row[index]

for index, row in df.iteritems():
    print(index, row[0], row[1], row[2])

c1 10 11 12
c2 100 110 123

https://blog.csdn.net/sinat_29675423/article/details/87972498

DataFrame的索引

pandas提供了专门的用于索引DataFrame的方法,如果要是用标签,最好使用loc方法,如果使用下标,最好使用iloc方法:
在这里插入图片描述

基础知识总结
https://www.jianshu.com/p/8024ceef4fe2


版权声明:本文为tangyuan0217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。