
pandas
@凌晨三点半
人生没有重来,过好当下的生活
展开
-
聚宽社区的数据带有日期追加写入mysql表报错Timestamp错误
错误描述原文忘了,大概就是说Timestamp没有转换属性。这个问题的原因是聚宽社区中的日期数据是日期时间类型的。而已存在的mysql表对应字段是Char类型,如果to_sql中if_exists=‘append’。name就会报这个错。处理办法将日期类型转成string类型即可。但是有一点要注意 日期数据如果为空。则会是NaT。这个要做判断转换,通过pd.isnull()来判断jq_stock_df['end_date_info'] = jq_stock_df['end_date_info'].m原创 2020-12-16 09:42:34 · 600 阅读 · 0 评论 -
Series数据自定义处理函数map()
map函数相当于DataFrame中的apply函数。只不过是针对Series的。可以这么干:import pandas as pddf = pd.DataFrame({'a':[1, 2, 3], 'b': [2,3,4]})df['c'] = df['a'].map(lambda x : x + 5)# 这时候df['c']的数据就变成:df['c']: [6, 7, 8]这里有一点要注意 再执行map函数之后需要重新赋值给新的一个Series对象(要么新的列要么原来列。都行) 它本身原创 2020-12-16 09:15:57 · 586 阅读 · 0 评论 -
DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
原因是在执行to_sql函数时。使用的是追加模式(if_exists=‘append’)。这时候需要将另一个参数改为(index=False)也就是不将索引作为列名写入。这样就可以了原创 2020-12-16 09:01:13 · 988 阅读 · 0 评论 -
DataFrame索引加1
df.index += 1这样index部分会全部自增1完事。原创 2020-02-21 14:45:53 · 1669 阅读 · 0 评论 -
pandas之DataFrame更改数据的列位置
# df 是DataFrame对象# 获取df对象标题列表cols = list(df)# 调位置cols.insert(-1,cols.pop(cols.index('XXX'))重组df对象排列顺序df = df.ix[:,cols].ix[]:.ix[]是DataFrame索引工具,既可以搜索单个数值也可以搜索一个范围内的数值,既可以通过下标搜索,也可以通过行列名称来索引。...原创 2020-02-21 14:43:10 · 5291 阅读 · 4 评论 -
Pandas DataFrame求差集
在Pandas中 求差集没有专门的函数。处理办法就是将两个DataFrame追加合并,然后去重。divident.append(hasThisYearDivident)noHasThisYearDivident = divident.drop_duplicates(subset='ts_code', keep=False, inplace=True, ignore_index=True)具...原创 2020-02-08 09:16:44 · 2935 阅读 · 0 评论 -
pandas DataFrame 转换日期比较时报 Can only use .dt accessor with datetimelike values错误
原因是DataFrame中日期列的数据类型为String。需要转换成日期类型。然后才进行日期比较# 格式转换divident['imp_ann_date'] = pd.to_datetime(divident['imp_ann_date'], format='%Y%m%d')# 筛选日期 Todays = date.today()annStartDate = timedelta(days...原创 2020-02-08 08:59:50 · 15648 阅读 · 0 评论 -
Pandas,删除矩阵中带有Nan的数据
删除DataFrame中的Nan:df.dropna()Series.dropna()文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html#pandas.DataFrame.dropna这个函数在DataFrame和Series中都有...原创 2019-09-08 14:57:29 · 1563 阅读 · 0 评论 -
pandas DataFrame 分组求和
new_series = df.groupby(by=['a'])['b'].sum()# 意思是对字段a进行分组然后通过字段B进行求和汇总# 返回Series类型对象。 a会变成index b则成为值原创 2019-09-08 14:51:56 · 22452 阅读 · 4 评论 -
pandas DataFrame 交集并集补集
1.场景,对于colums都相同的dataframe做过滤的时候例如:df1 = DataFrame([['a', 10, '男'], ['b', 11, '男'], ['c', 11, '女'], ['a', 10, '女'], ['c', 11...转载 2019-04-15 08:40:54 · 2519 阅读 · 0 评论 -
pandas的一些知识点记录。
主要是前两天公司同事希望我帮忙弄一个从Excel表格中筛出手机号。所以就由此出现的一些问题处理,写的不好还望各位python大佬指点一二:1.选择DataFrame对象中的某列:tel = df.iloc[:, col_index]使用切片的方式就可以选择相对应的列了。 大概说明下。这里前面的':'是切处所有的行,后面一个参数就是列的下标具体可看官方文档:http://pand...原创 2019-03-09 00:31:30 · 244 阅读 · 0 评论 -
pandas之筛选字符串字段。 Series.str.contains()
new_df_object = old_df_object[old_df_object.name.str.contains(r'.*?中国.*')]这条语句会筛出old_df_object中name字段中的每一条是否包含中国字样的bool类型的Series。有则true,无则false。然后将此Series对象传给old_df_object[]中。DataFrame对象会根据传进来的Se...原创 2019-03-01 01:19:45 · 11838 阅读 · 0 评论 -
pandas操作Excel和MySql杂记
这篇博客的内容是我这两天利用pandas读取excel和读写MySql时用到的一些函数功能。写下来,免得以后再去百度上东找西找。先说连接上mysql的问题吧,因为我是从琢磨这个问题开始的。首先,我用的是MySql8.0, Django2.0.6和Python3.6.4。本来打算用Django内置的Myqsl驱动来读写数据库。所以找到了Django-pandas。但是找来找去发现这货只能把Que...原创 2018-11-21 13:46:19 · 810 阅读 · 0 评论