创建dataframe。
df = pd.DataFrame()
遍历pandas每一行。
for index,row in df.iterrows():
print(index,type(row),row['code'],row['name'])
#对于每一行,通过列名访问对应的元素
print("-----")
loc,iloc的使用。
loc:通过行、列的名称或标签来索引
iloc:通过行、列的索引位置来寻找数据
读取第二行的值
# 索引第二行的值,行标签是“1”
data1 = data.loc[1]
备注:
#下面两种语法效果相同
data.loc[1] == data.loc[1,:]
# 读取第二行的值,与loc方法一样
data1 = data.iloc[1]
# data1 = data.iloc[1, :],效果与上面相同
读取第二列的值。
# 读取第二列全部值
data2 = data.loc[ : ,"B"]
# 读取第二列的值
data1 = data.iloc[:, 1]
根据某一列的值进行汇总统计:
选择groupby()函数,确定分组列,根据mean()函数,求得平均值。
data.groupby('education').mean()
Pandas进阶120题之15:根据某列进行分组并计算平均值 - 随风潜夜的文章 - 知乎 https://zhuanlan.zhihu.com/p/385339588
pandas遍历series:
from pandas import Series
index1 = ['01', '02', '03', '04', '05', '06']
data1 = ['小米', '华为', '海康', '浪潮', '用友', '大华']
# 构建数据
series = Series(data=data1, index=index1)
print(series)
01 小米
02 华为
03 海康
04 浪潮
05 用友
06 大华
dtype: object
print(series.index)
Index(['01', '02', '03', '04', '05', '06'], dtype='object')
print(series.values)
['小米' '华为' '海康' '浪潮' '用友' '大华']
print(series.items)
<bound method Series.items of 01 小米
02 华为
03 海康
04 浪潮
05 用友
06 大华
dtype: object>
print(list(series.items()))
[('01', '小米'), ('02', '华为'), ('03', '海康'), ('04', '浪潮'), ('05', '用友'), ('06', '大华')]
# 遍历并拿到data数据
for value in series:
print(value)
小米
华为
海康
浪潮
用友
大华
# 遍历并拿到index数据
for key in series.keys():
print(key)
01
02
03
04
05
06
# 遍历并拿到每对索引和数据
for key_value in series.items():
print(key_value)
('01', '小米')
('02', '华为')
('03', '海康')
('04', '浪潮')
('05', '用友')
('06', '大华')
添加列名字:
删除某一列:
data.drop('fruit_label',axis = 1,inplace = True) #axis参数默认为0
data.head()
或者
data.drop(columns = ['mass','width'],inplace = True)
data.head()
删除一行:
data.drop(index = [3,4,5],inplace = True)
data.head()
排序:
#1.1.按照某一列排序
d = {'C': [7, 5, 8, 4,],'A': [3, 6, 6, 7], 'B': [2, 5, 8, 0,]}
df = pd.DataFrame(data=d,index=[1,3,0,2])
print('排序前:\n', df)
'''
排序前:
C A B
1 7 3 2
3 5 6 5
0 8 6 8
2 4 7 0
'''
res = df.sort_values(by='A', ascending=False)
print('按照A列的值排序:\n', res)
'''
按照A列的值排序:
C A B
2 4 7 0
3 5 6 5
0 8 6 8
1 7 3 2
'''
===================================================================
# 1.2.按照多列排序
res = df.sort_values(by=['A', 'B'], ascending=[False, False])
print('按照A列B列的值排序:\n', res)
'''
按照A列B列的值排序:
C A B
2 4 7 0
0 8 6 8
3 5 6 5
1 7 3 2
'''
===================================================================
#2.1.按行名排序:
df.sort_index(axis=0)
C A B
0 8 6 8
1 7 3 2
2 4 7 0
3 5 6 5
#2.2.按列名排序:
df.sort_index(axis=1)
A B C
1 3 2 7
3 6 5 5
0 6 8 8
2 7 0 4
===================================================================
#3.读csv文件如何制定列的顺序
# 默认的是按照列名的字典顺序排序的
# 要固定顺序,按照自己想要的顺序,加columns字段即可
columns = ['cmt','class_label','test_label','predict_label']
df.to_csv("cnn_predict_result.csv",encoding="utf_8_sig",index=False,columns=columns)
===================================================================
————————————————
版权声明:本文为CSDN博主「tcy23456」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tcy23456/article/details/106389930
保存为excel
df.to_excel('winner.xlsx',index = False)
#df.to_csv('winner.csv',index = False)
填补空值、去重、重新设置索引、选择自己需要的列、重命名dataframe的列,保存为excel