首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pandas技巧4

) # 解析URL、字符串或者HTML文件,抽取其中的tables表格 pd.read_clipboard() # 从你的粘贴板获取内容,并传给read_table() pd.DataFrame(...s.value_counts(dropna=False) # 查看Series对象的唯一值和计数 df.apply(pd.Series.value_counts) # 查看DataFrame对象中每一列的唯一值和计数...df.at[5,"col1"] # 选择索引名称为5,字段名称为col1的数据 df.iat[5,0] # 选择索引排序为5,字段排序为0的数据 data.str.contains("s") # 数据中含有...() # 检查DataFrame对象中的空值,并返回一个Boolean数组 pd.notnull() # 检查DataFrame对象中的非空值,并返回一个Boolean数组 df.dropna() #...=lambda x: x + 1) # 批量重命名索引 数据处理:Filter、Sort和GroupBy df[df[col] > 0.5] # 选择col列的值大于0.5的行 df.sort_index

3.4K20

pandas数据清洗,排序,索引设置,数据选取

返回唯一值的数组(类型为array) df.drop_duplicates(['k1'])# 保留k1列中的唯一值的行,默认保留第一行 df.drop_duplicates(['k1','k2'],..., 默认:更新index,返回一个新的DataFrame # 返回一个新的DataFrame,更新index,原来的index会被替代消失 # 如果dataframe中某个索引值不存在,会自动补上NaN...True) reset_index() 将使用set_index()打造的层次化逆向操作 既是取消层次化索引,将索引变回列,并补上最常规的数字索引 df.reset_index() ----...df.loc[1:4,['petal_length','petal_width']] # 需求1:创建一个新的变量 test # 如果sepal_length > 3 test = 1 否则 test...= 0 df.loc[df['sepal_length'] > 6, 'test'] = 1 df.loc[df['sepal_length'] <=6, 'test'] = 0 # 需求2:创建一个新变量

3.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    妈妈再也不用担心我忘记pandas操作了

    格式的字符串导入数据 pd.read_html(url) # 解析URL、字符串或者HTML文件,抽取其中的tables表格 pd.read_clipboard() # 从你的粘贴板获取内容,并传给read_table...# 查看索引、数据类型和内存信息 df.describe()# 查看数值型列的汇总统计 s.value_counts(dropna=False) # 查看Series对象的唯一值和计数 df.apply...(pd.Series.value_counts) # 查看DataFrame对象中每一列的唯一值和计数 数据选取: df[col] # 根据列名,并以Series的形式返回列 df[[col1, col2...,on=col1,how='inner') # 对df1的列和df2的列执行SQL形式的join 数据清理: df[df[col] > 0.5] # 选择col列的值大于0.5的行 df.sort_values...(index=col1, values=[col2,col3], aggfunc=max) # 创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表 df.groupby(col1

    2.2K31

    Python 数据分析初阶

    同样的情况,我们可以增加分组并获取对应的数据 data1 = data['score'].groupby(data['city']) data1.mean() 这种情况下可以类比为SQL语句: select...['b'].unique(): 查看某一列的唯一值 df.values: 查看数据表的值 df.columns: 查看列名 df.head(): 查看默认的前 10 行数据 df.tail():...df1, how='outer') # 并集 设置索引列 df.set_index('id') 按照特定列的值排序 df.sort_values(by=['age']) 按照索引列排序 df.sort_index...具体的使用见下: df.loc[3]: 按索引提取单行的数值 df.iloc[0:5]: 按索引提取区域行数据值 df.reset_index(): 重设索引 df=df.set_index('...date'): 设置 date 为索引 df[:'2013']: 提取 2013 之前的所有数据 df.iloc[:3,:2]: 从 0 位置开始,前三行,前两列,这里的数据不同去是索引的标签名称,

    1.3K20

    再见 for 循环!pandas 提速 315 倍!

    但如果从运算时间性能上考虑可能不是特别好的选择。 本次东哥介绍几个常见的提速方法,一个比一个快,了解pandas本质,才能知道如何提速。 下面是一个例子,数据获取方式见文末。...,但这个新的特征是基于一些时间条件生成的,根据时长(小时)而变化,如下: ?...pandas的.apply方法接受函数callables并沿DataFrame的轴(所有行或所有列)应用。...一个技巧是:根据你的条件,选择和分组DataFrame,然后对每个选定的组应用矢量化操作。 在下面代码中,我们将看到如何使用pandas的.isin()方法选择行,然后在矢量化操作中实现新特征的添加。...] = df.loc[peak_hours, 'energy_kwh'] * 28 df.loc[shoulder_hours,'cost_cents'] = df.loc[shoulder_hours

    2.8K20

    pandas入门①数据统计

    JSON格式的字符串导入数据 pd.read_html(url):解析URL、字符串或者HTML文件,抽取其中的tables表格 pd.read_clipboard():从你的粘贴板获取内容,并传给read_table...数据类型和内存信息 df.describe():查看数值型列的汇总统计 s.value_counts(dropna=False):查看Series对象的唯一值和计数 df.apply(pd.Series.value_counts...):查看DataFrame对象中每一列的唯一值和计数 数据排序 df.sort_index(axis=1, ascending=False) # 即按列名排序,交换列位置。...():查看数据值列的汇总统计 df.mean():返回所有列的均值 df.corr():返回列与列之间的相关系数 df.count():返回每一列中的非空值的个数 df.max():返回每一列的最大值...df.min():返回每一列的最小值 df.median():返回每一列的中位数 df.std():返回每一列的标准差

    1.5K20

    用 Pandas 进行数据处理系列 二

    获取指定的列和行 import pandas as pd df = pd.read_csv('xxxx.xls') 获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['...('a',inplace=True,ascending=True) , inplace 表示排序的时候是否生成一个新的 dataFrame , ascending=True 表示升序,默认为升序,如果存在缺失的补值...[‘b’].unique()查看某一列的唯一值df.values查看数据表的值df.columns查看列名df.head()查看默认的前 10 行数据df.tail()查看默认的后 10 行数据 数据表清洗...) & (df['pr'] >= 4000), 'sign'] = 1 对 category 字段的值依次进行分列,并创建数据表,索引值 df 的索引列,列名称为 category 和 size pd.DataFrame...loc函数按标签值进行提取iloc按位置进行提取ix可以同时按标签和位置进行提取 具体的使用见下: df.loc[3]按索引提取单行的数值df.iloc[0:5]按索引提取区域行数据值df.reset_index

    8.2K30

    帮助数据科学家理解数据的23个pandas常用代码

    (10)检查缺失值 pd.isnull(object) 检测缺失值(数值数组中的NaN,对象数组中的None/ NaN) (11)删除特征 df.drop('feature_variable_name...(13)将数据帧转换为NUMPY数组 df.as_matrix() (14)获得数据帧的前N行 df.head(n) (15)按特征名称获取数据 df.loc [FEATURE_NAME]...df.columns [2]:'size'},inplace= True) (18)获取列的唯一条目 在这里,我们将获得“名称”列的唯一条目 df["name"].unique() (19)访问子数据帧...在这里,我们抓取列的选择,数据帧中的“name”和“size” new_df= df [[“name”,“size”]] (20)数据的摘要信息 # Sum of values in a data...[df [“size”]== 5] (23)选择值 选择“size”列的第一行 view source df.loc([0],['size'])

    2K40

    盘一盘 Python 系列 4 - Pandas (上)

    再选择「ETF 申购成分信息」。 点击下一步得到 看到没有第一行代码就这样生成了,获取数据的门槛迅速降低了好多。...(WMT = Walmart = 沃尔玛) 情况 3 df.loc[ 'MS':'GS', : ] 用 loc 获取标签从 ‘MS‘ 到 'GS' 的 sub-DataFrame。...情况 1 df.loc[ 'GS':'WMT', '价格': ] 用 loc 获取行标签从 ‘GS‘ 到 'WMT',列标签从'价格'到最后的 sub-DataFrame。...(Hint: 看看两组里冒号 : 在不同位置,再想想 DataFrame 每一行和每一列中数据的特点) 布尔索引 在〖数组计算之 NumPy (上)〗提过,布尔索引就是用一个由布尔类型值组成的数组来选择元素的方法...用 MultiIndex 可以创建多层索引的对象,获取 DataFrame df 的信息可用 df.loc[1st].loc[2nd] df.loc[1st].iloc[2nd] df.iloc[1st

    6.3K52

    【Kaggle入门级竞赛top5%排名经验分享】— 建模篇

    数据清洗:缺失值,异常值,一致性; 特征编码:one-hot 和 label coding; 特征分箱:等频,等距,聚类等; 衍生变量:可解释性强,适合模型输入; 特征选择:方差选择,卡方选择,正则化等...发现只有一个缺失值,其实可以直接删除,但是好多乘客都是以一个家庭来的,这其中会有很强的联系,并会给我们很好的线索,因此选择不删除。 继续观察一下这个缺失值乘客有什么特点?...这时我们可以使用相似特征替换方法来填补缺失值,下面来找一下与缺失值具有相似特征的其它样本数据: df.loc[(df['Pclass']==3)&(df['Age']>60)&(df['Sex']=='...因为缺失值也是一种值,这里将Cabin缺失值视为一种特殊的值来处理,并根据Cabin首个字符衍生一个新的特征CabinCat。...特征选择 过滤法—方差分析 这里特征采用 ANOVA方差分析的 F值 来对各个特征变量打分,打分的意义是:各个特征变量对目标变量的影响权重。

    57020

    使用 Python 进行数据清洗的完整指南

    在本文中将列出数据清洗中需要解决的问题并展示可能的解决方案,通过本文可以了解如何逐步进行数据清洗。 缺失值 当数据集中包含缺失数据时,在填充之前可以先进行一些数据的分析。...因为空单元格本身的位置可以告诉我们一些有用的信息。例如: NA值仅在数据集的尾部或中间出现。这意味着在数据收集过程中可能存在技术问题。可能需要分析该特定样本序列的数据收集过程,并尝试找出问题的根源。...数据不一致意味着列的唯一类具有不同的表示形式。例如在性别栏中,既有m/f,又有male/female。在这种情况下,就会有4个类,但实际上有两类。...所以应该在清洗和预处理步骤之前拆分数据: 以选择缺失值插补为例。数值列中有 NA,采用均值法估算。...但是我们拆分的目标是保持测试集完全独立,并像使用新数据一样使用它来进行性能评估。所以在操作之前必须拆分数据集。 虽然训练集和测试集分别处理效率不高(因为相同的操作需要进行2次),但它可能是正确的。

    1.2K30

    DataFrame和Series的使用

    和 values属性获取行索引和值 first_row.values # 获取Series中所有的值, 返回的是np.ndarray对象 first_row.index # 返回Series的行索引...loc方法传入行索引,来获取DataFrame的部分数据(一行,或多行) df.loc[0] df.loc[99] df.loc[last_row_index] iloc : 通过行号获取行数据 iloc...传入的是索引的序号,loc是索引的标签 使用iloc时可以传入-1来获取最后一行数据,使用loc的时候不行 loc和iloc属性既可以用于获取列数据,也可以用于获取行数据 df.loc[[行],[列]...] df.iloc[[行],[列]] df.loc[:,['country','year','pop']] # 获取全部的行,但每一行的列内容接受三个 df.iloc[:,[0,2,4,-1]] df.loc...Series的唯一值计数 # 可以使用 value_counts 方法来获取Pandas Series 的频数统计 df.groupby(‘continent’) → dataframeGroupby

    10910

    Pandas入门操作

    切片 # 获取单列 df['首付'] # 获取多列 df[['首付','建筑面积']] # 获取指定几行指定几列 df.loc[1:7,['单价','建筑面积']] 筛选 df[df['首付']>250...] # 交集 df[(df['首付']>=150) & (df['朝向'] == '南北')].head() # 并集 df[(df['首付']>=150) | (df['朝向'] == '南北')]....df.loc[2,'住宅类别']='普通住宅' 检查缺失值 df['住宅类别'].isnull() # 输出‘住宅类别中’所有的值是否为空 df['住宅类别'].isnull().any() # 检查...# subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列) # inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改...value:需要用什么值去填充缺失值 # axis:确定填充维度,从行开始或是从列开始 # method:ffill:用缺失值前面的一个值代替缺失值,如果axis =1,那么就是横向的前面的值替换后面的缺失值

    84820
    领券