文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

十个Pandas的另类数据处理技巧

2024-11-30 17:18

关注

1、Categorical类型

默认情况下,具有有限数量选项的列都会被分配object 类型。 但是就内存来说并不是一个有效的选择。 我们可以这些列建立索引,并仅使用对对象的引用而实际值。Pandas 提供了一种称为 Categorical的Dtype来解决这个问题。

例如一个带有图片路径的大型数据集组成。 每行有三列:anchor, positive, and negative.。

如果类别列使用 Categorical 可以显着减少内存使用量。

# raw data
+----------+------------------------+
| class | filename |
+----------+------------------------+
| Bathroom | Bathroom\bath_1.jpg |
| Bathroom | Bathroom\bath_100.jpg |
| Bathroom | Bathroom\bath_1003.jpg |
| Bathroom | Bathroom\bath_1004.jpg |
| Bathroom | Bathroom\bath_1005.jpg |
+----------+------------------------+

# target
+------------------------+------------------------+----------------------------+
| anchor | positive | negative |
+------------------------+------------------------+----------------------------+
| Bathroom\bath_1.jpg | Bathroom\bath_100.jpg | Dinning\din_540.jpg |
| Bathroom\bath_100.jpg | Bathroom\bath_1003.jpg | Dinning\din_1593.jpg |
| Bathroom\bath_1003.jpg | Bathroom\bath_1004.jpg | Bedroom\bed_329.jpg |
| Bathroom\bath_1004.jpg | Bathroom\bath_1005.jpg | Livingroom\living_1030.jpg |
| Bathroom\bath_1005.jpg | Bathroom\bath_1007.jpg | Bedroom\bed_1240.jpg |
+------------------------+------------------------+----------------------------+

filename列的值会经常被复制重复。因此,所以通过使用Categorical可以极大的减少内存使用量。

让我们读取目标数据集,看看内存的差异:

triplets.info(memory_usage="deep")

# Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 anchor 525000 non-null category
# 1 positive 525000 non-null category
# 2 negative 525000 non-null category
# dtypes: category(3)
# memory usage: 4.6 MB

# without categories
triplets_raw.info(memory_usage="deep")

# Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 anchor 525000 non-null object
# 1 positive 525000 non-null object
# 2 negative 525000 non-null object
# dtypes: object(3)
# memory usage: 118.1 MB

差异非常大,并且随着重复次数的增加,差异呈非线性增长。

2、行列转换

sql中经常会遇到行列转换的问题,Pandas有时候也需要,让我们看看来自Kaggle比赛的数据集。census_start .csv文件:

可以看到,这些按年来保存的,如果有一个列year和pct_bb,并且每一行有相应的值,则会好得多,对吧。

cols = sorted([col for col in original_df.columns \
if col.startswith("pct_bb")])
df = original_df[(["cfips"] + cols)]
df = df.melt(id_vars="cfips",
value_vars=cols,
var_name="year",
value_name="feature").sort_values(by=["cfips", "year"])

看看结果,这样是不是就好很多了:

3、apply()很慢

我们上次已经介绍过,最好不要使用这个方法,因为它遍历每行并调用指定的方法。但是要是我们没有别的选择,那还有没有办法提高速度呢?

可以使用swifter或pandarallew这样的包,使过程并行化。

Swifter

import pandas as pd
import swifter

def target_function(row):
return row * 10

def traditional_way(data):
data['out'] = data['in'].apply(target_function)

def swifter_way(data):
data['out'] = data['in'].swifter.apply(target_function)

Pandarallel

import pandas as pd
from pandarallel import pandarallel

def target_function(row):
return row * 10

def traditional_way(data):
data['out'] = data['in'].apply(target_function)

def pandarallel_way(data):
pandarallel.initialize()
data['out'] = data['in'].parallel_apply(target_function)

通过多线程,可以提高计算的速度,当然当然,如果有集群,那么最好使用dask或pyspark

4、空值,int, Int64

标准整型数据类型不支持空值,所以会自动转换为浮点数。所以如果数据要求在整数字段中使用空值,请考虑使用Int64数据类型,因为它会使用pandas.NA来表示空值。

5、Csv, 压缩还是parquet?

尽可能选择parquet。parquet会保留数据类型,在读取数据时就不需要指定dtypes。parquet文件默认已经使用了snappy进行压缩,所以占用的磁盘空间小。下面可以看看几个的对比

|        file            |  size   |
+------------------------+---------+
| triplets_525k.csv | 38.4 MB |
| triplets_525k.csv.gzip | 4.3 MB |
| triplets_525k.csv.zip | 4.5 MB |
| triplets_525k.parquet | 1.9 MB |
+------------------------+---------+

读取parquet需要额外的包,比如pyarrow或fastparquet。chatgpt说pyarrow比fastparquet要快,但是我在小数据集上测试时fastparquet比pyarrow要快,但是这里建议使用pyarrow,因为pandas 2.0也是默认的使用这个。

6、value_counts ()

计算相对频率,包括获得绝对值、计数和除以总数是很复杂的,但是使用value_counts,可以更容易地完成这项任务,并且该方法提供了包含或排除空值的选项。

df = pd.DataFrame({"a": [1, 2, None], "b": [4., 5.1, 14.02]})
df["a"] = df["a"].astype("Int64")
print(df.info())
print(df["a"].value_counts(normalize=True, dropna=False),
df["a"].value_counts(normalize=True, dropna=True), sep="\n\n")

这样是不是就简单很多了

7、Modin

注意:Modin现在还在测试阶段。

pandas是单线程的,但Modin可以通过缩放pandas来加快工作流程,它在较大的数据集上工作得特别好,因为在这些数据集上,pandas会变得非常缓慢或内存占用过大导致OOM。

!pip install modin[all]

import modin.pandas as pd
df = pd.read_csv("my_dataset.csv")

以下是modin官网的架构图,有兴趣的研究把:

8、extract()

如果经常遇到复杂的半结构化的数据,并且需要从中分离出单独的列,那么可以使用这个方法:

import pandas as pd

regex = (r'(?P[A-Za-z\'\s]+),'</span><br> <span style="color: #690">r'(?P<author>[A-Za-z\s\']+),'</span><br> <span style="color: #690">r'(?P<isbn>[\d-]+),'</span><br> <span style="color: #690">r'(?P<year>\d{4}),'</span><br> <span style="color: #690">r'(?P<publisher>.+)'</span>)<br> <span>addr</span> <span style="color: #d73a49;">=</span> <span>pd</span>.<span style="color: #005cc5;">Series</span>([<br> <span style="color: #690">"The Lost City of Amara,Olivia Garcia,978-1-234567-89-0,2023,HarperCollins"</span>,<br> <span style="color: #690">"The Alchemist's Daughter,Maxwell Greene,978-0-987654-32-1,2022,Penguin Random House"</span>,<br> <span style="color: #690">"The Last Voyage of the HMS Endeavour,Jessica Kim,978-5-432109-87-6,2021,Simon & Schuster"</span>,<br> <span style="color: #690">"The Ghosts of Summer House,Isabella Lee,978-3-456789-12-3,2000,Macmillan Publishers"</span>,<br> <span style="color: #690">"The Secret of the Blackthorn Manor,Emma Chen,978-9-876543-21-0,2023,Random House Children's Books"</span><br> ])<br> <span style="color: #f00;">addr</span>.<span style="color: #005cc5;">str</span>.<span style="color: #005cc5;">extract</span>(<span>regex</span>)</code></pre></div></div></div><p style="text-align: center;" data-id="pa028eb2-oK3nYrWM"><p data-id="p838747a-8VG3SoP3"></p><h4 style="line-height: 1;" data-id="h6434688-Myrlj7aF" id="h6434688-Myrlj7aF">9、读写剪贴板</h4><p data-id="p838747a-fMzR6fTk">这个技巧有人一次也用不到,但是有人可能就是需要,比如:在分析中包含PDF文件中的表格时。通常的方法是复制数据,粘贴到Excel中,导出到csv文件中,然后导入Pandas。但是,这里有一个更简单的解决方案:pd.read_clipboard()。我们所需要做的就是复制所需的数据并执行一个方法。</p><p data-id="p838747a-gt4FOhUP">有读就可以写,所以还可以使用to_clipboard()方法导出到剪贴板。</p><p data-id="p838747a-LOJ7cBEi">但是要记住,这里的剪贴板是你运行python/jupyter主机的剪切板,并不可能跨主机粘贴,一定不要搞混了。</p><h4 style="line-height: 1;" data-id="h6434688-3SXKcEOE" id="h6434688-3SXKcEOE">10、数组列分成多列</h4><p data-id="p838747a-CIgS9qes">假设我们有这样一个数据集,这是一个相当典型的情况:</p><div data-id="d5f22c1a-eZIbc2eW" data-card-editable="false" class="" data-syntax="javascript"><div class="" style="border: 1px solid rgb(232, 232, 232); background: rgb(249, 249, 249);"><div style="font-family: monospace;font-size: 13px; line-height: 21px; color: #595959; direction: ltr; height: auto; overflow: hidden;background: transparent;"><pre style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span style="color: #d73a49;">import</span> <span style="color: #005cc5;">pandas</span> <span style="color: #d73a49;">as</span> <span style="color: #005cc5;">pd</span><br> <span>df</span> <span style="color: #d73a49;">=</span> <span>pd</span>.<span style="color: #005cc5;">DataFrame</span>({<span style="color: #690color: #005cc5;">"a"</span>: [<span style="color: #005cc5;">1</span>, <span style="color: #005cc5;">2</span>, <span style="color: #005cc5;">3</span>],<br> <span style="color: #690color: #005cc5;">"b"</span>: [<span style="color: #005cc5;">4</span>, <span style="color: #005cc5;">5</span>, <span style="color: #005cc5;">6</span>],<br> <span style="color: #690color: #005cc5;">"category"</span>: [[<span style="color: #690">"foo"</span>, <span style="color: #690">"bar"</span>], [<span style="color: #690">"foo"</span>], [<span style="color: #690">"qux"</span>]]})<br> <br> # <span style="color: #d73a49;">let</span><span style="color: #690">'s increase the number of rows in a dataframe</span><br> <span>df</span> <span style="color: #d73a49;">=</span> <span>pd</span>.<span style="color: #005cc5;">concat</span>([<span>df</span>]<span style="color: #d73a49;">*</span><span style="color: #005cc5;">10000</span>, <span>ignore_index</span><span style="color: #d73a49;">=</span><span>True</span>)</code></pre></div></div></div><p style="text-align: center;" data-id="pa028eb2-ARZsUP56"><p data-id="p838747a-DTLCp3Fb"></p><p data-id="p838747a-cKoeSAqP">我们想将category分成多列显示,例如下面的</p><p style="text-align: center;" data-id="pa028eb2-5VmB5gHM"><p data-id="p838747a-KrhpjlUS"></p><p data-id="p838747a-aANByRlS">先看看最慢的apply:</p><div data-id="d689aa92-b15VPGT6" data-card-editable="false" class="" data-syntax="javascript"><div class="" style="border: 1px solid rgb(232, 232, 232); background: rgb(249, 249, 249);"><div style="font-family: monospace;font-size: 13px; line-height: 21px; color: #595959; direction: ltr; height: auto; overflow: hidden;background: transparent;"><pre style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span>def</span> <span>dummies_series_apply</span>(<span>df</span>):<br> <span style="color: #d73a49;">return</span> <span>df</span>.<span style="color: #005cc5;">join</span>(<span>df</span>[<span style="color: #690">'category'</span>].<span style="color: #005cc5;">apply</span>(<span>pd</span>.<span style="color: #005cc5;">Series</span>) \<br> .<span style="color: #005cc5;">stack</span>() \<br> .<span>str</span>.<span style="color: #005cc5;">get_dummies</span>() \<br> .<span>groupby</span>(<span>level</span><span style="color: #d73a49;">=</span><span style="color: #005cc5;">0</span>) \<br> .<span>sum</span>()) \<br> .<span>drop</span>(<span style="color: #690">"category"</span>, <span>axis</span><span style="color: #d73a49;">=</span><span style="color: #005cc5;">1</span>)<br> <span style="color: #d73a49;">%</span><span>timeit</span> <span>dummies_series_apply</span>(<span>df</span>.<span style="color: #005cc5;">copy</span>())<br> <span style="color: #005cc5;">#5</span><span style="color: #005cc5;">.96</span> <span>s</span> <span>±</span> <span style="color: #005cc5;">66.6</span> <span>ms</span> <span>per</span> <span>loop</span> (<span>mean</span> <span>±</span> <span>std</span>. <span>dev</span>. <span>of</span> <span style="color: #005cc5;">7</span> <span>runs</span>, <span style="color: #005cc5;">1</span> <span>loop</span> <span>each</span>)</code></pre></div></div></div><p data-id="p838747a-GDDyemcc">sklearn的MultiLabelBinarizer</p><div data-id="d61d1f64-3Vl2LNA4" data-card-editable="false" class="" data-syntax="javascript"><div class="" style="border: 1px solid rgb(232, 232, 232); background: rgb(249, 249, 249);"><div style="font-family: monospace;font-size: 13px; line-height: 21px; color: #595959; direction: ltr; height: auto; overflow: hidden;background: transparent;"><pre style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span>from</span> <span>sklearn</span>.<span style="color: #005cc5;">preprocessing</span> <span style="color: #d73a49;">import</span> <span style="color: #005cc5;">MultiLabelBinarizer</span><br> <span>def</span> <span>sklearn_mlb</span>(<span>df</span>):<br> <span>mlb</span> <span style="color: #d73a49;">=</span> <span>MultiLabelBinarizer</span>()<br> <span style="color: #d73a49;">return</span> <span>df</span>.<span style="color: #005cc5;">join</span>(<span>pd</span>.<span style="color: #005cc5;">DataFrame</span>(<span>mlb</span>.<span style="color: #005cc5;">fit_transform</span>(<span>df</span>[<span style="color: #690">'category'</span>]), <span>columns</span><span style="color: #d73a49;">=</span><span>mlb</span>.<span style="color: #005cc5;">classes_</span>)) \<br> .<span>drop</span>(<span style="color: #690">"category"</span>, <span>axis</span><span style="color: #d73a49;">=</span><span style="color: #005cc5;">1</span>)<br> <span style="color: #d73a49;">%</span><span>timeit</span> <span>sklearn_mlb</span>(<span>df</span>.<span style="color: #005cc5;">copy</span>())<br> <span style="color: #005cc5;">#35</span><span style="color: #005cc5;">.1</span> <span>ms</span> <span>±</span> <span style="color: #005cc5;">1.31</span> <span>ms</span> <span>per</span> <span>loop</span> (<span>mean</span> <span>±</span> <span>std</span>. <span>dev</span>. <span>of</span> <span style="color: #005cc5;">7</span> <span>runs</span>, <span style="color: #005cc5;">10</span> <span>loops</span> <span>each</span>)</code></pre></div></div></div><p data-id="p838747a-zzfil8ki">是不是快了很多,我们还可以使用一般的向量化操作对其求和:</p><div data-id="dcc89740-lFaaHSGf" data-card-editable="false" data-syntax="plain"><div class="" style="border: 1px solid rgb(232, 232, 232); background: rgb(249, 249, 249);"><div style="font-family: monospace;font-size: 13px; line-height: 21px; color: #595959; direction: ltr; height: auto; overflow: hidden;background: transparent;"><pre style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">def dummies_vectorized(df):<br> return pd.get_dummies(df.explode("category"), prefix="cat") \<br> .groupby(["a", "b"]) \<br> .sum() \<br> .reset_index()<br> %timeit dummies_vectorized(df.copy())<br> #29.3 ms ± 1.22 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)</code></pre></div></div></div><p style="text-align: center;" data-id="pa028eb2-qCAQf1Un"><p data-id="p838747a-ctQW0qqk"></p><p data-id="p838747a-AZUzXa5b">使用第一个方法(在StackOverflow上的回答中非常常见)会给出一个非常慢的结果。而其他两个优化的方法的时间是非常快速的。</p><h4 style="line-height: 1;" data-id="h6434688-tgSfPgu9" id="h6434688-tgSfPgu9">总结</h4><p data-id="p838747a-3z0RoUQo">我希望每个人都能从这些技巧中学到一些新的东西。重要的是要记住尽可能使用向量化操作而不是apply()。此外,除了csv之外,还有其他有趣的存储数据集的方法。不要忘记使用分类数据类型,它可以节省大量内存。感谢阅读!</p></div><div class="readOriginal"><a href="https://mp.weixin.qq.com/s?__biz=MzU5OTM2NjYwNg==&mid=2247501285&idx=1&sn=65cd9e7e81e82dcceeff9c6a8f43dea3&chksm=feb48b44c9c3025254fbd14f77b7cc1b5395637a69d97948b90d6a02b32712068405e32fb0f9&mpshare=1&scene=23&srcid=0324lKx5Pw8Y" class="original">来源:DeepHub IMBA</a><a href="/api/report.php?target=https://m.528045.com/article/daac4d0dec.html" class="complain"><span class="artM art_jinggao"></span>内容投诉</a></div><div class="myShow contentBtmshow"><div class="mzsming"><p class="mzsm_title">免责声明:</p><p>① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。 </p><p>② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341</p></div></div><div id="downloader-container" class="page-downloader-container"><div class="page-downloader-tip clear"><h2><span>软考中级</span>精品资料免费领 </h2><ul class="page-downloader-tip-list clear"><li><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAnFBMVEX/ZgD/+fH/1LX/r3n/ij3/izz/4Mn/yKH/l1D/pmn/y6X/17r/k0r/gi3/qW7/nVr/bw7/j0T/jkH/wpf/o2X/8eX/uIf/m1f/bAn/59P/chT/u4v/hTP/3ML/fyj/zan/0a//8OL/tYL/79//zqv/dxv/v5L/6NX/eR//n17/xJr/mVP/hzb/gy//fCX/eyL/483/dRj/6tn/gCvKDcjkAAACEklEQVR4nO2ZaXOCMBCGg1RQVMQD76Nqa61ae/3//9bdhA6EaUIiYRw7eb+47IQHJyS7m4U4WXnhgpTXE4NxaDcyAAYd2tMc+tEMGBWNePTZHJqQIIuOzTC7g0ETfqJNBl0zQg5+Ua5xNGPVCalXhIYpiSpCu6l5F2iPalgFOiMxutGoCu07TqtNrVUrG2h4xb4+eomuTQesuhiM+tJFH5hvDOZcjnZO2ftqqV+EXjBfCGYSfoXCMTroyQv19cB0C9A4RgdNhug65of/Ibo7tNAYHOnCB7VdoZp9/i4l9HWyaIu2aIu+Z/TY9zF9oRrioBpyiUAjFbBiHnK7RNqpIElgGOiLEhiXDBTQHebDIpxWzBLhGB30O/O9grkvQHd155pO8O4brJWc7OmvECifksKsLinMNmv+LrV13cutKyXdestYtEVbtEWXQs9mVaEhJc6fqSWL13HAxuig1+haTsC67MRkEN/CU0B/Mh82F7ZSsuOwVKSOTs78WGTIT6S5QkQBPUv/NTQapeLaJipzHaKLNTvkZL4horZCptN5Ym5rQgV8XXb7LWPRFm3R/wadni65444JdCrs+lo0Xrosqo/EAV8o+LQjR6eXurLonLA9IESvCOlfjx7J0LgHi+ojsT7y6DiD3qNjQXf6wxXKkc+ZxxLnLf/gMqL1bRr5yn7qShVxCwKD6vF0MQHuND3uPfwANQcar49so8oAAAAASUVORK5CYII=" alt="" class="page-downloader-tip-item-icon"><span class="page-downloader-tip-item-title">历年真题</span><span class="page-downloader-tip-item-subtitle">答案解析</span></li><li><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAq1BMVEUZhf8AAAD///8Zhv9TpP8njf+Mwv/U6P+p0v82lP/G4f/i8P9EnP/x9/9vsv+42f/V6f+byv8ahf9hq/9So/8ZhP8Xhv8ZhP8Zhv8Xh/8kkv/F4P8ahP8cf/8Zhf8civ8Yhf8Zhf8ahf8Zhf8ahf8Vf/8Zhf8Yhv8ZhP8Sf/8Zhv8YhP8Yhf8ahf8Zhf8Zhf8Whf8Zhf8YhP8ZhP8Zh/8ZhP8gf/8Yg/8Zhv9PI83jAAAAOXRSTlP/AP+///////////////////+p//9bTMLpIQf/OxKHJXK7UPmWDJAqaA58VbKf888X8V+mSB8QgNRFi0VFAAAB2UlEQVR4nO3Z6Y6CMBQFYEBgQBH3fXd09n1//ycbsCVit7T0NpmJPb+U6Be4HBoIjnvMfrDcvDra6d4jrkTPn/XZQx5J+gYIdpwaQc/BZJLeXxqjd3AyQU8AZYLemqPvzNFdc3TN0udGJ/0w7PUDcDqJGh5KKwWl4wi7hzR8ONpvluUsHSg6JeB8KjB0QsueF0HQATkNlB4AfXIGj2nSLVSl45MR+7Ffx59DbbpTkpHWwhXUpi9KfUZbAvw10aTL8yha0eZMRJH2GWXGBwJJN1ApigOpa9InV+JhIsEMiC7vtefN0n5arIDaA2Fe5TB00TRGqKVVjQ5KtSbSpH6sRAtkxtqnQotkL9ahhTK9OinQQrnN+IM0LZQZq7U8Ld5n5t2IJC2UO+z7HDmakvFCmieiu6FAk3JeBz+sZwl7/DszGZraZ0bTqtH0nKFoxhkEolndgKFJOfKz8DqhRlc7g1J0tVmcBx2FWTgPF5q0gmrpP0bn1zWO4Jn5/zz+W9rSlra0peXo0WCBvlcOj/7WdPn0z60xeq0v8+hrI/R7vunFCL3ONw2N0B/5poepCfoTdX1lgMZvqsa7CTy9MPcq0x2Yo92hOdpdbYDoLUW707er0ZM2PF5+Ie4XoagbkMfsC8wAAAAASUVORK5CYII=" alt="" class="page-downloader-tip-item-icon"><span class="page-downloader-tip-item-title">备考技巧</span><span class="page-downloader-tip-item-subtitle">名师总结</span></li><li><img src="data:image/png;base64,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" alt="" class="page-downloader-tip-item-icon"><span class="page-downloader-tip-item-title">高频考点</span><span class="page-downloader-tip-item-subtitle">精准押题</span></li></ul><button type="button" lay-on="showLoginPopup" class="el-button page-downloader-tip-button analytics-el el-button--primary"><span>获取网盘下载链接 </span></button></div></div><div class="heigh10"></div><div class="layui-tab layui-tab-brief"><ul class="layui-tab-title"><li class="layui-this">资料下载</li><li>历年真题</li></ul><div class="layui-tab-content"><div class="layui-tab-item layui-show"><div class="ziliao-box-new"><ul><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2024上半年软考中级软件测评师考试基础知识真题</a></div><p><span>193.9 KB</span><span>下载数265</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2024上半年软考中级软件设计师考试基础知识真题</a></div><p><span>191.63 KB</span><span>下载数245</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2023下半年-系统集成项目管理工程师-真题考点汇总(完整版)</a></div><p><span>143.91 KB</span><span>下载数1148</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2023年下半年系统集成项目管理工程师第一、二、三批次真题考点整理(考友回忆版)</a></div><p><span>183.71 KB</span><span>下载数642</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2023年上半年软考中级《系统集成项目管理工程师》-基础知识-考试真题及答案</a></div><p><span>644.84 KB</span><span>下载数2756</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li></ul></div></div><div class="layui-tab-item"><div class="exam-box-new"><ul><li><p>2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    813人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    354人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    318人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>2024年上半年软考高项第一、二批次真题考点汇总(完整版)</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    435人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>2024年上半年系统架构设计师考试综合知识真题</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    224人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li></ul></div></div></div></div><div class="article_relate"><div class="relateTop"><h3>相关文章</h3><span class="intro">发现更多好内容</span></div><ul class="clearfix"><li><a href="https://m.528045.com/article/32a7a68f1b.html" title="2024下半年广东软考成绩复查时间及流程">2024下半年广东软考成绩复查时间及流程</a></li><li><a href="https://m.528045.com/article/3607480fc4.html" title="软考可以抵扣个税吗?软考证书个税抵扣几次">软考可以抵扣个税吗?软考证书个税抵扣几次</a></li><li><a href="https://m.528045.com/article/7143229753.html" title="速看!软考的5类合格证书,最快12月下旬可查?!">速看!软考的5类合格证书,最快12月下旬可查?!</a></li><li><a href="https://m.528045.com/article/f3df68c4e2.html" title="2024下半年上海软考成绩复查时间及流程">2024下半年上海软考成绩复查时间及流程</a></li><li><a href="https://m.528045.com/article/46bc64ffb9.html" title="软考高级过了还可以考中级吗?软考中级多少分算过">软考高级过了还可以考中级吗?软考中级多少分算过</a></li><li><a href="https://m.528045.com/article/18b7955586.html" title="软考成绩通过后,证书领取时间是什么时候">软考成绩通过后,证书领取时间是什么时候</a></li><li><a href="https://m.528045.com/article/yn5cwcc557.html" title="如何在 Java 中实现对正方形的缩放操作?(如何在Java中对正方形进行缩放操作)">如何在 Java 中实现对正方形的缩放操作?(如何在Java中对正方形进行缩放操作)</a></li><li><a href="https://m.528045.com/article/ptxtq692z1.html" title="如何正确使用 Java 的 join 方法?(java join方法怎么使用)">如何正确使用 Java 的 join 方法?(java join方法怎么使用)</a></li><li><a href="https://m.528045.com/article/j4m6ktzet5.html" title="Java 中 DecimalFormat 在哪些场景下使用较为合适?(Java DecimalFormat在哪里使用合适)">Java 中 DecimalFormat 在哪些场景下使用较为合适?(Java DecimalFormat在哪里使用合适)</a></li><li><a href="https://m.528045.com/article/p51arh9g85.html" title="如何确保Redis客户端的安全性:实用技巧与最佳实践">如何确保Redis客户端的安全性:实用技巧与最佳实践</a></li></ul></div><div class="recommendArticle"><div class="title"><h3>猜你喜欢</h3><span class="intro">AI推送时光机</span></div><div class="list list_wrap"><div class="articleInfor "><a href="/article/daac4d0dec.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">十个Pandas的另类数据处理技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/Pandas/" title="Pandas" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">Pandas</a><a href="/tag/技巧/" title="技巧" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">技巧</a><span class="time">2024-11-30</span></div></div><div class="articleInfor "><a href="/article/a1a3595496.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Pandas 处理 CSV 数据的十个步骤</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/Python/" title="Python" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">Python</a><a href="/tag/数据分析/" title="数据分析" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">数据分析</a><span class="time">2024-11-29</span></div></div><div class="articleInfor "><a href="/article/1b3e738f51.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">十个Python中的数据类型技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/Python/" title="Python" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">Python</a><a href="/tag/类型/" title="类型" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">类型</a><span class="time">2024-11-30</span></div></div><div class="articleInfor "><a href="/article/3ea63f5da8.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Python数据处理的26个Pandas实用技巧总结</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/27acff8d3a.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Pandas数据处理加速技巧汇总</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/9964bdb99d.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Pandas处理大数据的性能优化技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/数据分析/" title="数据分析" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">数据分析</a><a href="/tag/工具/" title="工具" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">工具</a><span class="time">2024-12-13</span></div></div><div class="articleInfor "><a href="/article/52e814a023.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">处理 JavaScript 对象的十个技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/JavaScript/" title="JavaScript" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">JavaScript</a><a href="/tag/对象/" title="对象" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">对象</a><span class="time">2024-11-30</span></div></div><div class="articleInfor "><a href="/article/b0a8972110.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">详解Python数据处理Pandas库使用技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/pandas/" title="pandas" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">pandas</a><a href="/tag/Python/" title="Python" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">Python</a><span class="time">2024-11-30</span></div></div><div class="articleInfor "><a href="/article/709b34b51a.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">十个处理 JavaScript 对象的实用技巧!</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/JavaScrip/" title="JavaScrip" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">JavaScrip</a><a href="/tag/前端/" title="前端" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">前端</a><span class="time">2024-11-30</span></div></div><div class="articleInfor "><a href="/article/32030ea584.html"><div class="topCon clearfix"><h3 class="tit">数据处理利器:pandas读取Excel文件的高效技巧</h3><div class="img"><img class="lazy" data-src="https://static.528045.com/imgs/11.jpg?imageMogr2/format/webp/blur/1x0/quality/35" alt="数据处理利器:pandas读取Excel文件的高效技巧" /></div></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-01-19</span></div></div><div class="articleInfor "><a href="/article/cd9cb24ff9.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">数据预处理的10个小技能,附Pandas实现</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/Pandas/" title="Pandas" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">Pandas</a><a href="/tag/数据预处理/" title="数据预处理" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">数据预处理</a><span class="time">2024-12-03</span></div></div><div class="articleInfor "><a href="/article/5102599090.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Python数据预处理常用的5个技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/4b7d36006b.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Golang函数的二进制和十六进制数据处理技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-05-17</span></div></div><div class="articleInfor "><a href="/article/b1965a0e0c.html"><div class="topCon clearfix"><h3 class="tit">通过使用pandas来探讨数据清洗和预处理的技巧</h3><div class="img"><img class="lazy" data-src="https://static.528045.com/imgs/57.jpg?imageMogr2/format/webp/blur/1x0/quality/35" alt="通过使用pandas来探讨数据清洗和预处理的技巧" /></div></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-01-13</span></div></div><div class="articleInfor "><a href="/article/cd7b7e18e3.html"><div class="topCon clearfix"><h3 class="tit">提升数据处理效率:使用pandas读取Excel文件的技巧</h3><div class="img"><img class="lazy" data-src="https://static.528045.com/imgs/42.jpg?imageMogr2/format/webp/blur/1x0/quality/35" alt="提升数据处理效率:使用pandas读取Excel文件的技巧" /></div></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-01-24</span></div></div><div class="articleInfor "><a href="/article/a852db8d87.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Python数据处理的三个实用技巧分享</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/38c4413c7e.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">整理了十个经典的Pandas数据查询案例!</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/Pandas/" title="Pandas" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">Pandas</a><a href="/tag/数据查询/" title="数据查询" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">数据查询</a><span class="time">2024-12-01</span></div></div><div class="articleInfor "><a href="/article/e8aa337a03.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Pandas提高数据分析效率的13个技巧汇总</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/2b40ef2a40.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">处理海量数据:Java与MySQL大数据处理的技巧</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/数据/" title="数据" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">数据</a><a href="/tag/技巧/" title="技巧" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">技巧</a><span class="time">2024-11-30</span></div></div><div class="articleInfor "><a href="/article/f4dc67ad3c.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">python数据处理之Pandas类型转换的实现</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div></div></div><div class="breadNav"> 位置:<a class="LinkPath" href="http://m.528045.com/">首页</a>-<a class="LinkPath" href="https://m.528045.com/article/">资讯</a>-<a href="https://m.528045.com/article/program-c4-1.html">后端开发</a></div><div class="noMoreData"> 咦!没有更多了?去看看其它<a href="https://m.528045.com/">编程学习网</a> 内容吧 </div></div><div class="popCommon"></div><div class="btmNav"><a href="/" class="btmNavItem"><img src="https://static.528045.com/m/index.svg"><span class="name">首页</span></a><a href="/course/" class="btmNavItem"><img src="https://static.528045.com/m/wish.svg"><span class="name">课程</span></a><a href="/down/" class="btmNavItem"><div class="guide"></div><img class="pubImg" src="https://static.528045.com/m/btn_new.png"><span class="name">资料下载</span></a><a href="/ask/" class="btmNavItem"><img src="https://static.528045.com/m/msg.svg"><span class="name">问答</span><span class="num"></span></a><a href="/article/" class="btmNavItem btmMe on"><img src="https://static.528045.com/m/me_on.svg"><span class="name">资讯</span></a></div><script src="https://m.528045.com/static/layui/layui.js" type="text/javascript"></script><script src="https://m.528045.com/static/js/custom-script.js" type="text/javascript"></script><script src="https://m.528045.com/static/js/indexsms.js?v=20240108.1443"></script><script src="https://m.528045.com/static/skin/static/js/content.js"></script></body></html>