按照某特定string字段长度过滤: import pandas as pd df = pd.read_csv('filex.csv') df['A'] = df['A'].astype('str') df['B'] = df['B'].astype('str') mask = (df['A'].str.len() == 10) & (df['B'].str.len() == 10) df = df.loc[mask] print(df) Applied to filex.csv: A,B 12…
之前已经写过pandas DataFrame applymap()函数 还有pandas数组(pandas Series)-(5)apply方法自定义函数 pandas DataFrame 的 applymap() 函数和pandas Series 的 apply() 方法,都是对整个对象上个各个值进行单独处理,返回一个新的对象. 而pandas DataFrame 的  apply() 函数,虽然也是作用于DataFrame的每个值,但是接受的参数不是各个值本身,而是DataFrame里各行(…
上一篇pandas DataFrame apply()函数(1)说了如何通过apply函数对DataFrame进行转换,得到一个新的DataFrame. 这篇介绍DataFrame apply()函数的另一个用法,得到一个新的pandas Series: apply()中的函数接收的参数为一行(列),把一行(列)通过计算,返回一个值,最后返回一个Series: 下图展示了把DataFrame的各列转换成一个数,最后返回成一个Series: 举个栗子: import numpy as np imp…
Pandas DataFrame数据的增.删.改.查 https://blog.csdn.net/zhangchuang601/article/details/79583551 #删除列 df_2 = df_1.drop(columns=['deptNo','routeNo']).copy() del df_2['trp_vehicleType'] #列名变更 df_3 = df_2.rename(columns={'dingdanNo':'订单号', 'createTime':'建单时间'})…
apply Numpy 的ufuncs通用函数(元素级数组方法)也可用于操作pandas对象: 另一个常见的操作是,将函数应用到由各列或行所形成的一维数组上.Dataframe的apply方法即可实现此功能: sum 和mean 许多最为常见的数组统计功能都被实现成DataFrame的方法(如sum和mean), 因此无需使用apply方法. 除标量外, 传递给apply的函数还可以返回由多个值组成的Series: 元素级 python函数也可以用,格式化浮点值, applymap方法 之所以叫…
Ref: Pandas Tutorial: DataFrames in Python Ref: pandas.DataFrame Ref: Pandas:DataFrame对象的基础操作 Ref: Creating, reading, and writing reference pandas.DataFrame() pandas.Series() pandas.read_csv() pandas.DataFrame.shape pandas.DataFrame.head pandas.read_…
更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置. 原来的 df 是: df = pd.read_csv('I:/Papers/consumer/codeandpaper/TmallData/result01.csv') Net Upper Lower Mid Zsore Answer option More than once a day 0% 0.22% -0.12% 2 65 Once a day 0% 0.32% -0.19% 3 45 Several…
pandas DataFrame的增删查改总结系列文章: pandas DaFrame的创建方法 pandas DataFrame的查询方法 pandas DataFrame行或列的删除方法 pandas DataFrame的修改方法 在操作DataFrame时,肯定会经常用到loc,iloc,at等函数,各个函数看起来差不多,但是还是有很多区别的,我们一起来看下吧. 首先,还是列出一个我们用的DataFrame,注意index一列,如下: 接下来,介绍下各个函数的用法: 1.loc函数 愿意看…
pandas.DataFrame对象类型解析 df = pd.DataFrame([[1,"2",3,4],[5,"6",7,8]],columns=["a","b","c","d"]) method解析 1.add()方法:类似加法运算(相加的元素必须是同一对象的数据) | add(self, other, axis='columns', level=None, fill_value=…
定义: DataFrame是二维的.大小可变的.成分混合的.具有标签化坐标轴(行和列)的表数据结构.基于行和列标签进行计算.可以被看作是为序列对象(Series)提供的类似字典的一个容器,是pandas中主要的数据结构. 形式: class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False) 参数含义: data : numpy ndarray(多维数组)(结构化或同质化的), dict(字典…
示例: 有如下表需要进行行转列: 代码如下: # -*- coding:utf-8 -*- import pandas as pd import MySQLdb from warnings import filterwarnings # 由于create table if not exists总会抛出warning,因此使用filterwarnings消除 filterwarnings('ignore', category = MySQLdb.Warning) from sqlalchemy i…
把pandas dataframe转为list方法 先用numpy的 array() 转为ndarray类型,再用tolist()函数转为list…
pandas DataFrame.shift()函数可以把数据移动指定的位数 period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列. eg: 有这样一个DataFrame数据: import pandas as pd data1 = pd.DataFrame({ 'a': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'b': [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] }) print data1 a b 0 0 9 1 1 8…
pandas DataFrame的 applymap() 函数可以对DataFrame里的每个值进行处理,然后返回一个新的DataFrame: import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3], 'b': [10, 20, 30], 'c': [5, 10, 15] }) def add_one(x): return x + 1 print df.applymap(add_one) a b c 0 2 11 6 1 3 21 11 2…
和numpy数组(5)-二维数组的轴一样,pandas DataFrame也有轴的概念,决定了方法是对行应用还是对列应用: 以下面这个数据为例说明: 这个数据是5个车站10天内的客流数据: ridership_df = pd.DataFrame( data=[[ 0, 0, 2, 5, 0], [1478, 3877, 3674, 2328, 2539], [1613, 4088, 3991, 6461, 2691], [1560, 3392, 3826, 4787, 2613], [1608,…
pandas DataFrame进行向量化运算时,是根据行和列的索引值进行计算的,而不是行和列的位置: 1. 行和列索引一致: import pandas as pd df1 = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}) df2 = pd.DataFrame({'a': [10, 20, 30], 'b': [40, 50, 60], 'c': [70, 80, 90]}) print df1 + df2 a b…
有时候需要对 pandas Series 里的值进行一些操作,但是没有内置函数,这时候可以自己写一个函数,使用 pandas Series 的 apply 方法,可以对里面的每个值都调用这个函数,然后返回一个新的 Series import pandas as pd s = pd.Series([1, 2, 3, 4, 5]) def add_one(x): return x + 1 print s.apply(add_one) # 结果: 0 2 1 3 2 4 3 5 4 6 dtype:…
pandas DataFrame是二维的,所以,它既有列索引,又有行索引 上一篇里只介绍了列索引: import pandas as pd df = pd.DataFrame({'A': [0, 1, 2], 'B': [3, 4, 5]}) print df # 结果: A B 0 0 3 1 1 4 2 2 5 行索引自动生成了 0,1,2 如果要自己指定行索引和列索引,可以使用 index 和 column 参数: 这个数据是5个车站10天内的客流数据: ridership_df = pd…
之前介绍了numpy的二维数组,但是numpy二维数组有一些局限性,比如,它数组里所有的值的类型必须相同,不能某一列是数值型,某一列是字符串型,这样会导致无法使用 mean() , std() 等方法去计算某一行或某一列. 但是,使用pandas DataFrame可以解决这一问题. pandas DataFrame也是二维数据,和pandas Series一样, pandas DataFrame也有'索引'这个概念,它每一列都有一个索引值: import pandas as pd df = p…
pandas.DataFrame → array → list values 可以转成 array array.tolist() 可以转成 list >>> c 0 1 2 0 0 0 0 1 1 1 1 2 2 2 2 3 0 0 0 4 1 1 1 5 2 2 2 6 0 0 0 7 1 1 1 8 2 2 2 array([[0, 0, 0], [1, 1, 1], [2, 2, 2], [0, 0, 0], [1, 1, 1], [2, 2, 2], [0, 0, 0], [1,…
from:https://blog.csdn.net/tanzuozhev/article/details/76713387 How to iterate over rows in a DataFrame in Pandas-DataFrame按行迭代 https://stackoverflow.com/questions/16476924/how-to-iterate-over-rows-in-a-dataframe-in-pandas http://stackoverflow.com/que…
最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stackoverflow.com/questions/tagged/pandas?sort=votes&pageSize=15 Get list from pandas DataFrame column headers - Pandas 获取列名 https://stackoverflow.com/ques…
Pandas提供了duplicated.Index.duplicated.drop_duplicates函数来标记及删除重复记录 duplicated函数用于标记Series中的值.DataFrame中的记录行是否是重复,重复为True,不重复为False pandas.DataFrame.duplicated(self, subset=None, keep='first', inplace='True') pandas.Series.duplicated(self, keep='first')…
删除pandas DataFrame的某一/几列: 方法一:直接del DF['column-name']   方法二:采用drop方法,有下面三种等价的表达式: 1. DF= DF.drop('column_name', 1): 2. DF.drop('column_name',axis=1, inplace=True) 3. DF.drop([DF.columns[[0,1, 3]]], axis=1,inplace=True)   # Note: zero indexed   注意:凡是会…
相信有很多人收这个问题的困扰,如果你想一次性在pandas.DataFrame里添加几列,或者在指定的位置添加一列,都会很苦恼找不到简便的方法:可以用到的函数有df.reindex, pd.concat 我们来看一个例子: df 是一个DataFrame, 如果你只想在df的后面添加一列,可以用下面的方法: 但是如果你想一次性添加两列级以上,你可能会用通样的办法 df[['D','E']] == None ,结果报错如下: 所以接下来我想介绍两种认为比较简便的方法 (1)第一个方法是利用pd.c…
最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stackoverflow.com/questions/tagged/pandas?sort=votes&pageSize=15 add one row in a pandas.DataFrame -DataFrame添加行 https://stackoverflow.com/questions/107159…
Xgboost调参: https://wuhuhu800.github.io/2018/02/28/XGboost_param_share/ https://blog.csdn.net/hx2017/article/details/78064362 pandas DataFrame中的空值处理: https://blog.csdn.net/yuanxiang01/article/details/78738812 pandas的DataFrame.Series删除列: https://blog.c…
Outline 前几天,数据清洗时有用到pandas去过滤大量数据中的“负值”: 把过滤出来的“负值”替换为“NaN”或者指定的值. 故做个小记录. 读取CSV文件 代码: import pandas as pd import numpy as np df = pd.read_csv('D:\All_Kinds_Stock_Data\windpy_filter_after\SH600036.csv') df # 开发环境: ipython notebook 下 读取本地csv文件,输出结果如下:…
1. 从字典创建DataFrame >>> import pandas >>> dict_a = {'],'mark_date':['2017-03-07','2017-03-07','2017-03-07']} >>> df = pandas.DataFrame(dict_a) # 从字典创建DataFrame >>> df # 创建好的df列名默认按首字母顺序排序,和字典中的先后顺序并不一样,字典中是'user_id','book…
1. 从字典创建Dataframe >>> import pandas as pd >>> dict1 = {'col1':[1,2,5,7],'col2':['a','b','c','d']} >>> df = pd.DataFrame(dict1) >>> df col1 col2 0 1 a 1 2 b 2 5 c 3 7 d 2. 从列表创建Dataframe (先把列表转化为字典,再把字典转化为DataFrame) >…