我有一个 50 GB 的 SAS 数据集。我想在 pandas 数据框中读取它。快速读取 sas 数据集的最佳方法是什么?
我使用了下面的代码,速度太慢了:
import pandas as pd
df = pd.read_sas("xxxx.sas7bdat", chunksize = 10000000)
dfs = []
for chunk in df:
dfs.append(chunk)
df_final = pd.concat(dfs)
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法来读取Python中的大数据集?可以并行运行这个过程吗?
我有一个如下所示的熊猫数据框
import pandas as pd
df = pd.DataFrame({'col':['abcfg_grp_202005', 'abcmn_abc_202009', 'abcgd_xyz_8976', 'abcgd_lmn_1']})
df
col
0 abcfg_grp_202005
1 abcmn_abc_202009
2 abcgd_xyz_8976
3 abcgd_lmn_1
Run Code Online (Sandbox Code Playgroud)
我想在“col”中的 _ 之前将“col”替换为第一个实例。如果在 _ 之后的第三个实例中有一个数字,则将其附加到“col”的末尾,如下所示
col
0 abcfg
1 abcmn
2 abcgd
3 abcgd_1
Run Code Online (Sandbox Code Playgroud) 换行文字对我不起作用。我尝试了以下代码:
writer = pd.ExcelWriter(out_file_name, engine='xlsxwriter')
df_input.to_excel(writer, sheet_name='Inputs')
workbook = writer.book
worksheet_input = writer.sheets['Inputs']
header_format = workbook.add_format({
'bold': True,
'text_wrap': True})
# Write the column headers with the defined format.
worksheet_input.set_row(1,45,header_format )
Run Code Online (Sandbox Code Playgroud)
这是我的结果截图
换行文字对我不起作用。我尝试了以下代码:
writer = pd.ExcelWriter(out_file_name, engine='xlsxwriter')
df_input.to_excel(writer, sheet_name='Inputs')
workbook = writer.book
worksheet_input = writer.sheets['Inputs']
header_format = workbook.add_format({
'bold': True,
'text_wrap': True})
# Write the column headers with the defined format.
worksheet_input.set_row(1,45,header_format )
Run Code Online (Sandbox Code Playgroud)
这是我的结果截图
我的数据框看起来像下面