您的位置 首页 知识

pandas用法总结 介词介词什么pandas前面?pandas 数据框之前的

pandas用法总结 介词介词什么pandas前面?pandas 数据框之前的

了解怎样使用介词为你的 pandas 数据框筛选、索引和操作数据。 介词在 pandas 前面用于过滤行、选取列,或通过提供更有上下文的语义使代码更易读!

直接应用 – 过滤行(Rows)

介词可以帮助快速且简洁地过滤数据框。 下面内容是一些示例:

  • 使用with :此操作将“选取”对应条件的行。它有助于使代码天然易读!

    pythonimport pandas as pd

    data = ‘col1’: [1, 2, 3, 4], ‘col2’: [‘A’, ‘B’, ‘A’, ‘C’]}df = pd.DataFrame(data)

    new_df = df[df[‘col2’] == ‘A’]传统技巧:过滤 col2 为 ‘A’ 的行。new_df_with = df.loc[df[‘col2’] == ‘A’] 更简洁的方式print(new_df_with)

    在这个例子中,df[df['col2'] == 'A']直接筛选 col2 列值等于 ‘A’ 的那些行,实现了数据框的行子集,简洁地提取数据子集.这就像“列 col2 等于 ‘A’ 的 行”。这种with 类似于一种天然语言表达“在…的前提条件下, 选择出什么数据”!

  • 使用over.

    用另一个 dataframe 计算值的集合时使用,例如,根据值统计并聚合现有行或列(类似在表格over 的范围).pythonimport pandas as pddf = pd.DataFrame(‘col1’: [1, 1, 2, 2], ‘col2’: [‘A’, ‘B’, ‘A’, ‘C’]})groupby_df= df.groupby(‘col1’).count[‘col2’]groupby_df =df.groupby(‘col1’).agg(‘col2′:’count’})print(groupby_df)

    输出, col1 1 has count 2 and col 2 has value count 2

    col2

    col1

    1 2

    2 2

    通过 计算在 column col1 上 ‘counts’ col2 :“每个 col1 ,对其所有计数进行 count”

    这里我们可以说 “为了 按照col1 列去 groupby,统计各个 col2 的总数目 “!

选择列 (Columns) 时的前置用法

对于选择操作,介词会更加重要.

  • 使用 of : 表示特定列名的指定. 帮助说明我们想要选的列.

    pythonimport pandas as pd

    data = ‘col1’: [1, 2, 3], ‘col2’: [‘A’, ‘B’, ‘C’]}df = pd.DataFrame(data)col_to_select = [‘col1’, ‘col2’]selected_columns = df[col_to_select] 传统选方式,选取多列selected_of_colummn = df.loc[:, [‘col1′,’col2’]]选取多列

    print(selected_of_colummn)

    这种用法, 可描述为: “ 从DataFrame选取 指定的‘列们’”`.选择指定的那几列。 灵活、语义增强.

  • 使用 from. 代表从数据框 “选取” 内容: 虽然和 of语义重合。 为了阅读上的更顺畅也更加灵活

    pythonimport pandas as pd

    data = ‘col1’: [1, 2, 3], ‘col2’: [‘A’, ‘B’, ‘C’]}df = pd.DataFrame(data)

    print the column1 values by :select from ‘column_name’

    df =df[“col1”].to_listprint(df)

    意思是:“ from (来自于) dataframe中” select 列: col1 , select 的数值””:

复杂条件下的运用

介词不仅止于基本选取。 在涉及复杂的条件筛选时也能更准确地表达意图!

  • 在 “where“的上下文里”,介词通常更适合 : where 表示对符合条件的元素使用新条件 :”如果 value 匹配where 条件,则从”from 选择符合条件的对象!

pythonimport pandas as pd

data = ‘col1’: [1, 2, 3, 4], ‘col2’: [‘A’, ‘B’, ‘A’, ‘C’]}df = pd.DataFrame(data)

选择col2等于’A’并且col1大于1的行: “对于那些满足where条件的行 ,挑选匹配 col1 and col2“

技巧1 混合技巧: 筛选where(col2==’A’),接着在对 col1>1 做行过滤 。

selected_rows = df[(df[‘col2’] == ‘A’) & (df[‘col1’] > 1)]

“ from df where 在满足 col2 为 ‘A’ ,并且 col1 大于 1.”:

print(selected_rows)

介词可以提供精确度,并且以更清晰直观的方式操控 pandas 数据帧。 它就像为数据处理配上导航指南,降低了数据分析的技术壁垒. 使程序更易于被读, 维护与合作, 以方便高效操作!

常见难题和解答

1. pandas 前置使用介词是为了增强代码可读性吗?

是的,它们在一定程度上使代码更清晰,使用类似英语的方式描述逻辑!

2. 在所有情况下都应该在pandas前使用介词吗?

虽然有助于代码更清晰,但在非常简单的情况下可能显得多余。要根据具体情景判断是否使用!

3. 有没有一些pandas的实用工具?

isinbetweenapply 都提供了高质量的,常用的工具!

4. 能用更加灵活的方式代替with,from,where之类方式表达含义的场景吗?

肯定的,使用 lambda 表达式来更精细的操作.也可以与函数配合进行复杂处理

pythondf[df[‘col2’].apply(lambda x: x == ‘A’)]


您可能感兴趣

返回顶部