![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pandas
779醒
这个作者很懒,什么都没留下…
展开
-
pandas将一列中重复值替换为空值(nan)
将一列中的重复值替换成nan(ffillna的逆运算,但ffillna之前的重复值也会被替换掉)data['A'] = data.A.mask(data.A.diff().eq(0)) # 方法1data['A'].mask(data['A'].shift(1) == data['A']) # 方法2diff()使用说明:numpy.diff(a, n=1,axis=-1)a 表示需要进行差分操作的数据n 代表执行几次差值axis:默认是-1。在pandas中:调用方法:datafr原创 2021-09-18 10:37:35 · 3361 阅读 · 0 评论 -
Pandas 更改列的数据类型
创建 DataFrame 时指定类型,直接通过 dtype 参数指定类型df里非数字类型的字段不会转成数字str仍保留为str df = pd.DataFrame(positions['data'], dtype=float)2、单列series转为数字pd.to_numeric(s) # or pd.to_numeric(s, errors='raise');3、多列或者整个 DataFramedf[['col2','col3']] = df[['col2','col3']].appl原创 2021-08-12 23:34:55 · 4283 阅读 · 0 评论 -
Pandas 创建DataFrame提示:type object ‘object‘ has no attribute ‘dtype‘
pandas版本0.25.3import pandas as pdsymbol_info_columns = ['1', '持仓方向', '持仓量', '持仓收益率', '持仓收益', '持仓均价', '当前价格', '最大杠杆'] # v3symbol_config = {'BTC': 'BTC-USDT-210924', 'LTC': 'LTC-USDT-210924', 'EOS': 'EOS-USDT-210924', 'ETH': 'ETH-USDT-210924', 'XRP': '原创 2021-07-18 07:59:32 · 30121 阅读 · 3 评论 -
pandas升级后std函数计算结果过小被四舍五入为0
std()计算时,如果结果过小,被四舍五入为0df['std'] = df['mean'].rolling(n1, min_periods=1).std(ddof=0) 其他函数暂未出现此问题问题定位:(一)Python3.9环境本地问题环境pandas版本查看:import pandas as pdpd.show_versions()pd.__version__估计是版本过高造成linux服务器计算正常环境中,查询pandas版本anaconda prompt中尝试版本退原创 2021-07-11 00:59:15 · 366 阅读 · 1 评论 -
pandas dataframe按条件取数特定行/列值
1.按列取、按索引/行取、按特定行列取import numpy as npfrom pandas import DataFrameimport pandas as pd df=DataFrame(np.arange(12).reshape((3,4)),index=['one','two','thr'],columns=list('abcd')) df['a']#取a列df[['a','b']]#取a、b列 #ix可以用数字索引,也可以用index和column索引df.ix[0]#取原创 2021-06-24 09:13:54 · 23693 阅读 · 0 评论 -
groupby匿名函数(lambda)特殊情况处理:分组结果仅有一组,需按行取值操作情况
问题出现前提条件1、groupby分组后,2、使用匿名函数进行操作,且需要按行取值操作时try: prf = df.groupby('start_time').apply(lambda x: x['B'] - x.iloc[0]['A']) except Exception as e: print(e)如果start_time只有一个值,groupby只有一组结果时,会raise错误0解决方案,当groupby只有一组结果时,groupby后把相关列提取出来,再进行匿名函数操作原创 2020-06-29 07:20:48 · 1432 阅读 · 1 评论 -
dataframe时间序列无法写入数据库(字段类型DATETIME)
dataframe时间序列写入sqlite时,出错dataframe时间序列处理:df[‘dt’] = pd.to_datetime(df[‘dt’])sqlite中时间字段格式为datetime写入数据库失败原因1pandas的dataframe不能保存datetime格式pd.to_datetime()转换的结果,虽然显示2020-01-01 00:00:00但是type是<class ‘pandas._libs.tslibs.timestamps.Timestamp’>导原创 2020-06-19 13:11:56 · 1142 阅读 · 1 评论 -
DataFrame和List相互转换
dataframe转成list,每行数据打包作为子listdf = pd.DataFrame({'a': [1, 3, 5, 7, 4,], 'b': [3, 5, 6, 2, 4,]})print(df)print(df.values.tolist())原创 2020-06-17 12:00:51 · 9567 阅读 · 2 评论