Pandas
Pandas
micromicrofat
Python | Go | Deep Learning
展开
-
【Py】【Pandas】使用groupby实现类似Excel纵向合并单元格操作
最近一个项目需要使用Pandas对数据中某几列进行类似Excel中的合并单元格操作首先想到的是使用dataframe的set_index()方法通过测试,发现也确实能实现但是,一旦两条数据不相临,合并就失效了我们可以使用dataframe的groupby方法groupby更多是用在分组统计中,比如groupby().count(),而且groupby()后返回的是DataFrameGroupBy对象,而非DataFrame。但我们这里可以可以通过agg(lambda x: x)对分组后的数据原创 2022-04-22 11:34:45 · 4067 阅读 · 1 评论 -
【Py】给已存在的Excel添加sheet
使用pandasimport pandas as pdfrom openpyxl import load_workbookdf = pd.DataFrame([{'a':1}])book = load_workbook("test.xlsx")with pd.ExcelWriter("test.xlsx",engine="openpyxl") as writer: writer.book = book df.to_excel(writer, sheet_name="shee原创 2022-03-30 11:01:30 · 2898 阅读 · 0 评论 -
【Py】数据处理速度对比
@《Go语言设计与实现》在工作中难免要对数据进行各种各样的处理,在Python中,我接触到的数据处理工具包括Pandas、原生语法等等,在Pandas中我们需要对列表字典数据进行转换,转换为DataFrame,而使用原生语法则不需要进行转换。添加新列>>> myList = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}]>>> %timeit for item in myList: item['elem']='value'128 n.原创 2021-12-07 17:50:56 · 748 阅读 · 0 评论 -
使用pandas groupby的一个案例
mongodb中有下面一组数据,业务场景就不介绍了,看数据应该很好理解[ { "_id":"606fdd0805f5710008a82223", "brand_id":"1", "brand_name":"APPLE", "series_id":"11", "series_name":"iPhone", "product_name":"iPhone12", "cover":[原创 2021-04-22 10:38:06 · 190 阅读 · 0 评论 -
解决pandas报错:XLRDError: Excel xlsx file; not supported
用pandas读xlsx文件时报错:/usr/python3/lib/python3.8/site-packages/xlrd/__init__.py in open_workbook(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows, ignore_workbook_corruption) 168 # files原创 2021-03-05 08:36:34 · 15907 阅读 · 4 评论 -
pandas 添加空列并赋空值
创建测试dataframe:>>> import pandas as pd>>> df = pd.DataFrame([{'a':1, 'b':2}, {'a':3, 'b':4}])>>> df a b0 1 2 1 3 4 添加两个空列>>> df[['c','d']]=df.apply(lambda x:('',''),axis=1,result_type='expand')>>原创 2020-08-26 10:54:40 · 13190 阅读 · 0 评论 -
pandas报cannot set a frame with no defined index and a scalar的一个原因
使用pandas时遇到‘ValueError: cannot set a frame with no defined index and a scalar’错误,其中一个原因可能是由于你正在对一个空的dataframe进行操作>>> import pandas as pd>>> df = pd.DataFrame()>>> df.loc[:, 'test'] = 1ValueError: cannot set a frame with no de原创 2020-08-05 10:39:08 · 13811 阅读 · 0 评论 -
pandas导出到Excel报URLS数量超出65530警告
今天在整理数据时报警告:>>> df_all.to_excel('xxxx.xlsx', index=False)/home/microfat/.local/lib/python3.6/site-packages/xlsxwriter/worksheet.py:945: UserWarning: Ignoring URL 'https://xxxxxxx' since it exceeds Excel's limit of 65,530 URLS per worksheet.这是由原创 2020-08-02 17:12:49 · 4468 阅读 · 2 评论 -
解决pandas.read_excel报错‘Must explicitly set engine if not passing in buffer or path for io.‘
希望通过requests获取到xls,再通过pandas.read_excel转换为dataframe>>> res = requests.get(url)>>> df = pd.read_excel(result.content)以上代码在本机上运行没有问题,但是,通过docker部署到服务器时报错: File "/usr/lib/python3/dist-packages/pandas/util/_decorators.py", line 208, in原创 2020-07-27 14:45:43 · 1749 阅读 · 3 评论 -
使用pandas.DataFrame.to_sql时报错expected str instance, dict found
在使用to_sql写入数据库时,出现报错TypeError: sequence item 0: expected str instance, dict found是由于dataframe中存在值为字典的情况,需要将字典转为字符串,或者删除df.loc[:, ‘xxxx’] = df_main[‘xxxx’].astype(str)df_subform = df_subform.drop(columns = ignore_columns)...原创 2020-07-18 17:43:41 · 1291 阅读 · 0 评论 -
pandas删除列名中包含某些字符的列
>>> df = df[df.columns.drop(list(df.filter(regex='Test')))]参考:https://stackoverflow.com/a/44272830/7151777原创 2020-07-17 11:47:11 · 3602 阅读 · 1 评论