pandas常用操作整理

1、把某一列的字符值转换为数字(map)

使用map函数就可以实现把某一列的字符类型的值转换为数字。

class_mapping = {'A':0, 'B':1}
data[class] = data[class].map(class_mapping)

首先定义一个字典,然后使用map方法就可以把某一列的字符类型的值转换为数字。

参考:
使用pandas把某一列的字符值转换为数字的实例

2、统计某个值的出现次数(value_counts)

使用value_counts函数即可。代码:

import pandas as pd
import numpy as np
df = pd.DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'],'data1':np.random.randn(5),'data2':np.random.randn(5)})
print(df)
df['key2'].value_counts()

结果:
在这里插入图片描述
参考:
【Pandas】统计某个值的出现次数

3、获取一列出现过的值(unique)

使用unique()函数即可,代码:

import pandas as pd
import numpy as np 
df = pd.DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'],'data1':np.random.randn(5),'data2':np.random.randn(5)})
print(df)
print(df['key1'].unique())

结果:

	key1 key2     data1     data2
0    a  one -0.066452  1.850358
1    a  two  0.861040 -2.977021
2    b  one  0.422862  1.871435
3    b  two -0.060591 -2.044589
4    a  one  0.779476 -0.390922
['a' 'b']

4、根据条件筛选数据

多个条件

train_[(train_['ID']==0) & (train_['QUEUE_ID']==2)]

单个条件

train_[train_['ID']==0]

5、统计有多少空值

代码

data.isna().sum()

结果展示了每一列的空值情况

province               0
adcode                 0
model                  0
bodyType               0
regYear                0
regMonth               0
salesVolume         5280
id                     0
forecastVolum      36960
popularity          5280
carCommentVolum     5280
newsReplyVolum      5280
label               5280

6、读取excel

使用pandas读取excel

7、数据去重

Pandas数据的去重,替换和离散化,异常值的检测

8、数据合并

包括merge和contract方法

pandas-数据的合并与拼接

9、写入excel

9.1 写入一个excel

一般不需要指定写入引擎,pandas会根据你的系统和excel格式自动选,缺少的引擎pip install安装就好。

file_name='mdp_original.xlsx'
dataset_original.to_excel(file_name,sheet_name='version1',index=False)
9.2 写入多个sheet

代码如下:

with pd.ExcelWriter(file_name) as writer:
    dataset_original.to_excel(writer,sheet_name='original',index=False)
    dataset_v1.to_excel(writer,sheet_name='V1',index=False)
    dataset_v2.to_excel(writer,sheet_name='V2',index=False)

10 isin函数做筛选

有点类似于python中的in关键字,主要是判断dataframe特定列是否在某个范围内,可以看一下这个示例:

>>> import numpy as np 
>>> import pandas as pd 
#创建数据
>>> df=pd.DataFrame(np.random.randint(1,16,size=(4,4)),columns=['A','B','C','D'])
>>> print(df)
   A   B   C   D
0  2   7   1  11
1  2   5  15  15
2  4  10   7  15
3  3  11  12   2
>>> l=list(range(1,8))
>>> print(l)
[1, 2, 3, 4, 5, 6, 7]
>>> df['C'].isin(l)
0     True
1    False
2     True
3    False
Name: C, dtype: bool
# 筛选
>>> data=df[df['C'].isin(l)]
>>> print(data)
   A   B  C   D
0  2   7  1  11
2  4  10  7  15
>>> 

参考自pandas中isin()函数及其逆函数使用

11、缺失值处理

#空值处理方式
data.fillna(data.mean(), inplace = True)#以均值填充
data.fillna(0, inplace = True)#以0填充
 
data.dropna(inplace=True) #剔除空值,针对空值数量相对总体而言可以忽略的情况

参考:pandas nan值判断与处理

PandasPython中最受欢迎的模块之一,它在数据科学社区中被广泛使用。它提供了许多常用的函数来进行数据操作、清理和分析。以下是一些常用Pandas函数: 1. read_csv:用于从CSV文件读取数据并创建DataFrame。 2. head:返回DataFrame的前几行数据。 3. tail:返回DataFrame的后几行数据。 4. shape:返回DataFrame的行数和列数。 5. info:提供DataFrame的基本信息,包括列名、数据类型和非空值的数量。 6. describe:提供DataFrame中数值列的统计摘要,包括计数、均值、标准差、最小值、25%分位数、50%分位数、75%分位数和最大值。 7. drop_duplicates:去除DataFrame中的重复行。 8. isnull:检查DataFrame中的缺失值。 9. fillna:填充DataFrame中的缺失值。 10. dropna:删除DataFrame中包含缺失值的行或列。 11. rename:重命名DataFrame的列名。 12. set_index:将DataFrame的列设置为索引。 13. reset_index:重置DataFrame的索引。 14. groupby:按照指定的列或多个列对DataFrame进行分组。 15. merge:根据指定的列将两个DataFrame合并为一个。 16. sort_values:按照指定的列对DataFrame进行排序。 17. apply:对DataFrame的每一列或每一行应用自定义函数。 18. plot:绘制DataFrame中的数据图形。 19. to_csv:将DataFrame保存为CSV文件。 20. drop:删除DataFrame中的指定列或行。 这些常用函数可以帮助我们完成80%以上的任务,并且可以通过Pandas的文档进一步了解更多关于grouping、merging等参数较多且常用的函数,这将对我们的工作有很大的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [深度盘点:整理100个 Pandas 常用函数](https://blog.csdn.net/weixin_38037405/article/details/124054985)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [这20个Pandas函数一定要牢记,建议收藏!!](https://blog.csdn.net/weixin_43373042/article/details/129631001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值