pandas数据读取及使用基础

pandas数据的读取与保存

import pandas as pd
 
path = 'example.xlsx'
# 读取Excel文件
df = pd.read_excel(path)
 
# 查看数据
print(df)
 
# 修改数据
df['新列'] = df['某列'] * 10
 
# 保存到新的Excel文件
df.to_excel('modified_example.xlsx', index=False)

参数及其解读

path:读取的文件路径

sheet_name:

        str:传入要读工作表的名称,
        【例】sheet_name = ‘sheet1’
        int:传入要读工作表的顺序索引,从0开始;
        【例】读取Excel的第二个sheet页 该参数sheet_name = 1
        list:传入列表指定读取多个sheet页,可全int/str也可混合使用
        【例】sheet_name = [0, 1, ‘sheet3’] 读取多个sheet页返回key为sheet表名、value为DataFrame的字典
        None:默认读取Excel中所有的sheet页 返回DataFrame字典

header:

        header = int、list、None Default = 0

        该参数用于指定DataFrame数据的列标签,默认为0,即把sheet页第一行看作每一列的表头(列标签)

        int:使用该行作为列表头
        【例】header = 1 表示把第二行看作列标签 (其他不常用 不展开解释)

nrows:

        nrows = 10

        只读取前10行

  • index_col:将某一列设置为索引列。
  • skiprows:跳过指定的行。
  • na_values:指定哪些值应被视为缺失值(NaN)。
  • dtype:指定列的数据类型。

数据处理

DataFrame格式下常用函数:

        iloc:只使用索引来对表格进行处理

        【例】kt_data = data.iloc[:,1:10].reset_index(drop=True)

        reset_index:重置索引,drop表示是否丢弃原索引

        shape:返回表格大小,(row,col)

        【例】(row,col ) = kt_data.shape

        dropna:

        dropna()函数是pandas库中DataFrame和Series对象的一个方法,其基本用法如下:

        axis:指定要删除的行还是列,默认为0表示删除行,1表示删除列。
        how:指定删除缺失值的条件,可选值为'any'和'all'。'any'表示只要存在缺失值就删除,'all'表示只有当所有值都是缺失值时才删除。
        thresh:指定一个阈值,表示要保留的行或列中至少有多少个非缺失值。
        subset:指定要考虑哪些列或行。
        inplace:是否在原地修改DataFrame,默认为False,表示不修改原DataFrame,而是返回一个新的DataFrame。

import pandas as pd

# 创建一个包含缺失值的DataFrame
df = pd.DataFrame({
    'A': [1, 2, None, 4],
    'B': [None, 2, 3, 4],
    'C': [1, 2, 3, None]
})

# 删除包含缺失值的行
df_dropped_rows = df.dropna()
print("删除包含缺失值的行:")
print(df_dropped_rows)

# 删除包含缺失值的列
df_dropped_cols = df.dropna(axis=1)
print("\n删除包含缺失值的列:")
print(df_dropped_cols)

输出

删除包含缺失值的行:
     A    B    C
1  2.0  2.0  2.0

删除包含缺失值的列:
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3]

定制dropna()函数的行为
通过调整dropna()函数的参数,我们可以更精确地控制缺失值的处理方式。

使用how参数控制删除条件:

        'any':只要存在缺失值就删除。
        'all':只有当所有值都是缺失值时才删除。
使用thresh参数指定非缺失值的阈值:

        例如,thresh=2表示要保留至少有两个非缺失值的行或列。
使用subset参数指定要考虑的列或行:

        通过传递列名或行索引的列表,可以限制dropna()函数的作用范围。

表格拼接:

pd.concat([table1,table2],ignore_index= True,axis = 1):

  • objs:要连接的DataFrame或Series对象序列,可以是一个列表或字典。
  • axis:连接的轴,默认为0,表示按行连接。
  • join:连接方式,默认为’outer’,表示使用并集的方式进行连接。
  • ignore_index:是否忽略连接后结果中的索引,默认为False。
    import pandas as pd
    
    # 创建第一个DataFrame
    df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
    
    # 创建第二个DataFrame
    df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
    
    # 使用concat函数进行行连接
    df_concat_rows = pd.concat([df1, df2])
    print(df_concat_rows)
    """
       A  B
    0  1  3
    1  2  4
    0  5  7
    1  6  8
    """
    
    # 使用concat函数进行列连接
    df_concat_cols = pd.concat([df1, df2], axis=1)
    print(df_concat_cols)
    """
       A  B  A  B
    0  1  3  5  7
    1  2  4  6  8
    """
    
    # 使用ignore_index参数
    df_concat_ignore_index = pd.concat([df1, df2], ignore_index=True)
    print(df_concat_ignore_index)
    """
       A  B
    0  1  3
    1  2  4
    2  5  7
    3  6  8
    """
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值