python -- 对 DataFrame 的操作

本文介绍了Python数据处理的基础步骤,包括创建DataFrame、定义转换函数、对单列及整个DataFrame应用函数,以实现数据清洗和格式标准化。示例中展示了处理数值、字符串数据的常见方法。

1. 基础数据准备

import pandas as pd


data = [{"a": 1, "b": '  djidn.  '}, 
        {"a": 11, "b": 22.123456}, 
        {"a": 111, "b": ''}, 
        {"a": 1111}, 
        {"a": '1111'}]
df = pd.DataFrame(data)
df

 

2. 操作方法

def func(num):
    if num != num:
        return ''
    elif isinstance(num, float):
        return str(round(num, 2))
    elif isinstance(num, int):
        return str(num)
    elif isinstance(num, str):
        return num.strip()
    else:
        return num

3. 对单列操作

df['a'] = df['a'].apply(func)

df['b'] = df['b'].apply(func)

3. 对整个DF的操作

df = df.apply(lambda x:x.map(func))

或 

df = df.applymap(func)

 

 

### 获取 Pandas DataFrame 的行数方法 在 Python 中,Pandas 是一个强大的数据分析工具,提供了多种方式来获取 DataFrame 的行数。以下是几种常见的方法: #### 方法一:使用 `shape` 属性 `shape` 属性返回一个包含 DataFrame 行数和列数的元组。可以通过索引 `[0]` 来获取行数。 ```python import pandas as pd df = pd.DataFrame({'a':[None, 2, 3], 'b':[4, 5, 6], 'c':[7, 8, 9]}) rows = df.shape[0] print(rows) # 输出:3 ``` 此方法简单直观,适用于需要同时获取行数和列数的场景[^1]。 #### 方法二:使用 `len()` 函数 `len()` 函数可以直接作用于 DataFrame,返回其行数。 ```python import pandas as pd df = pd.DataFrame({'a':[None, 2, 3], 'b':[4, 5, 6], 'c':[7, 8, 9]}) rows = len(df) print(rows) # 输出:3 ``` 该方法简洁明了,适合快速获取行数[^2]。 #### 方法三:使用 `count()` 方法 `count()` 方法可以统计每列非空值的数量。如果需要忽略空值并统计实际数据行数,可以结合 `axis=0` 参数。 ```python import pandas as pd df = pd.DataFrame({'a':[None, 2, 3], 'b':[4, 5, 6], 'c':[7, 8, 9]}) rows = df.count(axis=0).max() print(rows) # 输出:3 ``` 注意,此方法统计的是非空值的行数,可能与总行数不同[^1]。 #### 方法四:使用 `index` 属性 通过访问 DataFrame 的 `index` 属性并计算其长度,也可以得到行数。 ```python import pandas as pd df = pd.DataFrame({'a':[None, 2, 3], 'b':[4, 5, 6], 'c':[7, 8, 9]}) rows = len(df.index) print(rows) # 输出:3 ``` 这种方法特别适用于需要基于索引操作的场景[^2]。 ### 总结 以上方法均可用于获取 Pandas DataFrame 的行数,具体选择取决于实际需求。如果需要包括所有行(包括包含空值的行),推荐使用 `shape` 或 `len()` 方法;如果需要排除空值,则可以选择 `count()` 方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值