pandas常用操作汇总

创建dataframe。

df = pd.DataFrame()

遍历pandas每一行。

for index,row in df.iterrows():
    print(index,type(row),row['code'],row['name']) 
    #对于每一行,通过列名访问对应的元素
    print("-----")

pandas 按行遍历Dataframe

loc,iloc的使用。

loc:通过行、列的名称或标签来索引

iloc:通过行、列的索引位置来寻找数据

读取第二行的值

# 索引第二行的值,行标签是“1”
data1 = data.loc[1]

备注:
#下面两种语法效果相同
data.loc[1] == data.loc[1,:]

# 读取第二行的值,与loc方法一样
data1 = data.iloc[1]
# data1 = data.iloc[1, :],效果与上面相同

Pandas读取某列、某行数据——loc、iloc用法总结

读取第二列的值。

# 读取第二列全部值
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', '大华')

pandas 遍历 series

添加列名字:

删除某一列:


 

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()

dataframe中删除某一列或某一行

排序:

#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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CCCHHH333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值