raw_data_jiangxiang = pd.read_excel(accord_path, header=None)
raw_data_mingzi = pd.read_excel(name_path, header=None)
mingzi = raw_data_mingzi.values[:, 1:2]
jiangxiangmingzi = raw_data_jiangxiang.values[:, 7:8]
pandas读取出来的是Series或者DataFrame,DataFrame是一列列Series加起来的。
二者区别就是一个一维,一个二维。
.values
会读出来ndarrary的形式。从而进行处理。
print(jiangxiangmingzi)
[ [‘学生信息’]
[‘2020112001张,2020112001晏’]… ]
我们可以看到组织形式,首先是ndarray的形式,而不是list,因为项与项之间没有,
,也可以发现同类型元素是一个小的ndarray,存放着一个字符串类型。
所以:jiangxiangmingzi[i]
是每一项ndarray
:[‘2020112001张,2020112001晏’]
jiangxiangmingzi[i][0]
是该项的内容'2020112001张,2020112001晏'
菜鸟教程
使用list
创建DataFrame
import pandas as pd
data = [['Google',10],['Runoob',12],['Wiki',13]]
df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)
print(df)
使用ndarray
创建DataFrame
import pandas as pd
data = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}
df = pd.DataFrame(data)
print (df)
上面是符合逻辑的,list的特性是内容的数据类型可以不同,所以每一项就是一行。
ndarray 对象是用于存放同类型元素的多维数组。所以是按照列来组织的。(默认一列的数据类型是一样的)
import pandas as pd
accord_path = r'C:\Users\97246\Desktop\jiang.xlsx'
name_path = r'C:\Users\97246\Desktop\number.xls'
raw_data_jiangxiang = pd.read_excel(accord_path, header=None)
raw_data_mingzi = pd.read_excel(name_path, header=None)
mingzi = raw_data_mingzi.values[:, 1:2]
jiangxiangmingzi = raw_data_jiangxiang.values[:, 7:8]
rows = jiangxiangmingzi.shape[0]
judege = []
for i in range(rows):
is_need = False
print(jiangxiangmingzi[i][0])
for k in jiangxiangmingzi[i][0].split(','):
print(k)
if len(k) > 10:
k = k[12:]
print(k)
if k in mingzi:
is_need = True
break
if is_need:
judege.append(i)
# 使用list存储方法。
siftedthrough_data = []
for i in judege:
siftedthrough_data.append(raw_data_jiangxiang.iloc[i])
df = pd.DataFrame(siftedthrough_data)
print(df)
df.to_excel(r'C:\Users\97246\Desktop\党员.xlsx', index=False)