<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>第 1 章：数据加载与查看（Loading &amp; Inspecting Data） on 跟我学机器学习</title><link>https://machinelearningwithme.com/course/pandas/chapter01/</link><description>Recent content in 第 1 章：数据加载与查看（Loading &amp; Inspecting Data） on 跟我学机器学习</description><generator>Hugo</generator><language>zh_CN</language><lastBuildDate>Tue, 27 Oct 2026 22:56:38 +0800</lastBuildDate><atom:link href="https://machinelearningwithme.com/course/pandas/chapter01/index.xml" rel="self" type="application/rss+xml"/><item><title>Pandas 核心知识点详解：从字典创建 DataFrame 到查看数据形状与数据类型 | Pandas 数据分析实战</title><link>https://machinelearningwithme.com/course/pandas/chapter01/core-concepts/</link><pubDate>Sat, 24 Oct 2026 22:30:00 +0800</pubDate><guid>https://machinelearningwithme.com/course/pandas/chapter01/core-concepts/</guid><description>&lt;h1 id="第-11-节-核心知识点"&gt;第 1.1 节 核心知识点&lt;a class="anchor" href="#%e7%ac%ac-11-%e8%8a%82-%e6%a0%b8%e5%bf%83%e7%9f%a5%e8%af%86%e7%82%b9"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint note'&gt;
&lt;p&gt;&lt;strong&gt;预计学习时长：&lt;/strong&gt; 30 分钟&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;本节目标：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;会用字典创建一个 DataFrame；&lt;/li&gt;
&lt;li&gt;知道怎么看一张表有几行几列；&lt;/li&gt;
&lt;li&gt;会取出一列或多列，并说清楚它们返回的是什么东西；&lt;/li&gt;
&lt;li&gt;看懂 &lt;code&gt;dtypes&lt;/code&gt; 输出的 int64 / float64 / object 是什么意思；&lt;/li&gt;
&lt;li&gt;会用 &lt;code&gt;head()&lt;/code&gt; 和 &lt;code&gt;tail()&lt;/code&gt; 预览数据。&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote class='book-hint caution'&gt;
&lt;p&gt;本课程使用的 Pandas 版本是 &lt;code&gt;'3.1.0'&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 id="dataframe-是什么"&gt;DataFrame 是什么&lt;a class="anchor" href="#dataframe-%e6%98%af%e4%bb%80%e4%b9%88"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在动手写代码之前，先建立一个直觉，不然每个方法都会显得很突兀。&lt;/p&gt;
&lt;p&gt;在 Pandas 中，DataFrame 其实就是一张二维表格，它和 Excel 里的工作表几乎一样：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;有行，有列；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;每行是一条记录，每列是一个字段；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;行列交汇的格子（称之为 Cell）里存一个值。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但和 Excel 不同的是，DataFrame 是一张有户口本的表，它的每一行都有编号（叫索引 index），每一列都有名字（叫列名 columns）。这两样东西你随时可以换、可以查、可以重设，这也是第 2 章将要重点讲的东西。&lt;/p&gt;
&lt;p&gt;在 Pandas 里，有两种基本的数据结构：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;结构&lt;/th&gt;
					&lt;th&gt;是什么&lt;/th&gt;
					&lt;th&gt;长什么样&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Series&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;一列&lt;/td&gt;
					&lt;td&gt;一维的「带标签的数组」，比如下面订单表里的「城市」这一列&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;DataFrame&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;整张表&lt;/td&gt;
					&lt;td&gt;二维的「带行标签和列标签的表格」，由多个 Series 拼起来&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;一句话记住：&lt;strong&gt;Series 是一列，DataFrame 是很多列拼起来的表。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Pandas 编程练习：5 道动手题学会看表（建表、看形状、取列、看类型、预览数据） | Pandas 数据分析实战</title><link>https://machinelearningwithme.com/course/pandas/chapter01/coding-exercises/</link><pubDate>Sat, 24 Oct 2026 22:30:00 +0800</pubDate><guid>https://machinelearningwithme.com/course/pandas/chapter01/coding-exercises/</guid><description>&lt;h1 id="第-12-节-编程练习"&gt;第 1.2 节 编程练习&lt;a class="anchor" href="#%e7%ac%ac-12-%e8%8a%82-%e7%bc%96%e7%a8%8b%e7%bb%83%e4%b9%a0"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint note'&gt;
&lt;p&gt;&lt;strong&gt;预计学习时长：&lt;/strong&gt; 40 分钟&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;练习方式：&lt;/strong&gt; 建议新建一个 Jupyter Notebook，把下面的数据准备代码抄进去，然后&lt;strong&gt;每题独立完成&lt;/strong&gt;。先写，写不出再展开答案——直接看答案的练习几乎没有效果。&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class='book-hint '&gt;
&lt;p&gt;本课程使用的 Pandas 版本是 &lt;code&gt;'3.1.0'&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;本小节示例代码文件：
&lt;span class="subscription-widget subscription-widget--download"
 data-subscription-widget
 data-resource-id="fff5ebc19cc44769"
 data-resource-text="chapter_1.2.ipynb"
 data-resource-plan="plus"
 data-resource-color="blue"
 data-resource-align="left"
 data-resource-type="download"&gt;
 &lt;button type="button" class="subscription-btn subscription-btn--download" data-subscription-trigger data-type="download" style="font-size: 0.7em;" aria-busy="false"&gt;
 &lt;span class="subscription-btn__icon" aria-hidden="true"&gt;&lt;svg viewBox="0 0 16 16" width="1em" height="1em"&gt;&lt;path fill="currentColor" d="M8 1a.5.5 0 0 1 .5.5v6.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 8.293V1.5A.5.5 0 0 1 8 1z"/&gt;&lt;path fill="currentColor" d="M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/&gt;&lt;/svg&gt;&lt;/span&gt;
 &lt;span class="subscription-btn__text"&gt;chapter_1.2.ipynb&lt;/span&gt;
 &lt;/button&gt;
 &lt;span class="subscription-result" data-subscription-result hidden role="status" aria-live="polite"&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;script&gt;
(function () {
 var script = document.currentScript;
 var widget = script &amp;&amp; script.previousElementSibling;
 if (!widget || !widget.matches || !widget.matches('[data-subscription-widget]')) return;

 var trigger = widget.querySelector('[data-subscription-trigger]');
 var result = widget.querySelector('[data-subscription-result]');
 var icon = trigger.querySelector('.subscription-btn__icon');
 var textEl = trigger.querySelector('.subscription-btn__text');
 
 var originalIcon = icon ? icon.textContent : '';
 var originalText = textEl.textContent;
 var resourceId = widget.dataset.resourceId;
 var planHint = widget.dataset.resourcePlan || '';

 
 
 
 
 
 
 function applyContentStyle() {
 var S = window.MLWM_SUB_STYLE;
 if (S &amp;&amp; typeof S.apply === 'function') {
 S.apply(widget, widget.dataset.resourceColor, widget.dataset.resourceAlign);
 }
 }
 
 
 
 
 
 
 
 
 
 function notifyToggle(expanded) {
 document.dispatchEvent(new CustomEvent('mlwm:subscription-toggle', {
 detail: { resourceId: resourceId, expanded: !!expanded }
 }));
 }

 
 
 
 
 
 
 if (document.readyState === 'loading') {
 document.addEventListener('DOMContentLoaded', applyContentStyle, { once: true });
 } else {
 applyContentStyle();
 }

 
 
 var cached = null;
 var inflight = null;

 
 
 function resolveApiUrl(path) {
 if (window.__ML_API &amp;&amp; typeof window.__ML_API === 'function') return window.__ML_API(path);
 return path;
 }

 function isLoggedIn() {
 return document.documentElement.getAttribute('data-mlwm-auth') === 'in';
 }
 function getToken() {
 try { return localStorage.getItem('mlwm_auth_access') || ''; } catch (_) { return ''; }
 }
 function showLoginModal(opts) {
 if (window.MLWM_AUTH &amp;&amp; typeof window.MLWM_AUTH.openLoginModal === 'function') {
 window.MLWM_AUTH.openLoginModal(Object.assign({ mode: 'login' }, opts || {}));
 } else {
 window.location.assign('/login/');
 }
 }
 function showToast(msg, type) {
 if (window.MLWM_AUTH &amp;&amp; typeof window.MLWM_AUTH.showToast === 'function') {
 window.MLWM_AUTH.showToast(msg, type || 'warning');
 }
 }
 function setBusy(busy) {
 trigger.disabled = !!busy;
 trigger.setAttribute('aria-busy', busy ? 'true' : 'false');
 textEl.textContent = busy ? '加载中...' : originalText;
 }
 function clearResult() {
 result.hidden = true;
 result.innerHTML = '';
 delete result.dataset.kind;
 textEl.textContent = originalText;
 trigger.style.display = '';
 }
 function setResult(html, kind) {
 applyContentStyle();
 result.hidden = false;
 result.innerHTML = html;
 result.dataset.kind = kind || 'info';
 }
 function escapeHtml(s) {
 return String(s == null ? '' : s).replace(/[&amp;&lt;&gt;"']/g, function (c) {
 return { '&amp;': '&amp;amp;', '&lt;': '&amp;lt;', '&gt;': '&amp;gt;', '"': '&amp;quot;', "'": '&amp;#39;' }[c];
 });
 }

 
 
 
 
 
 
 
 function renderMarkdown(text) {
 var src = String(text == null ? '' : text);
 if (window.MLWM_MARKED_MD &amp;&amp; typeof window.MLWM_MARKED_MD.render === 'function') {
 var html = window.MLWM_MARKED_MD.render(src);
 if (typeof html === 'string') return html;
 }
 if (typeof marked !== 'undefined' &amp;&amp; typeof marked.parse === 'function') {
 return marked.parse(src);
 }
 return escapeHtml(src);
 }

 
 function isExpanded() { return widget.classList.contains('is-expanded'); }
 function isPinned() { return widget.classList.contains('is-pinned'); }
 function pin() { widget.classList.add('is-pinned'); }
 function unpin() { widget.classList.remove('is-pinned'); }

 function renderContentBox(data) {
 var html =
 '&lt;div class="subscription-content__title"&gt;' +
 '&lt;span class="subscription-content__chevron" aria-hidden="true"&gt;&lt;/span&gt;' +
 '&lt;span class="subscription-content__title-text"&gt;' + escapeHtml(originalText) + '&lt;/span&gt;' +
 '&lt;/div&gt;' +
 '&lt;div class="subscription-content__body"&gt;' + renderMarkdown(data.body) + '&lt;/div&gt;';
 trigger.style.display = 'none';
 setResult(html, 'content');
 widget.classList.add('is-expanded');
 notifyToggle(true);
 
 
 
 if (typeof window.renderMathInElement === 'function') {
 try {
 window.renderMathInElement(result, {
 throwOnError: false,
 delimiters: [
 { left: '$$', right: '$$', display: true },
 { left: '$', right: '$', display: false },
 { left: '\\(', right: '\\)', display: false },
 { left: '\\[', right: '\\]', display: true }
 ]
 });
 } catch (_) { }
 }
 }
 function hideContentBox() {
 trigger.style.display = '';
 clearResult();
 widget.classList.remove('is-expanded');
 unpin();
 notifyToggle(false);
 }

 function renderDenied(body) {
 var detail = body.detail || {};
 
 var requiredPlan = detail.required_plan || planHint || 'pro';
 
 var currentPlan = (detail.current_plan || '').toString().trim();
 var hasCurrent = !!currentPlan;
 
 var title = hasCurrent ? '订阅等级不足' : '尚未订阅';
 
 var bodyText = hasCurrent
 ? '当前订阅为 ' + escapeHtml(currentPlan) + '，获取该资源至少需订阅 ' + escapeHtml(requiredPlan) + ' 套餐。'
 : '当前未订阅，获取该资源至少需订阅 ' + escapeHtml(requiredPlan) + ' 套餐。';
 
 
 result.hidden = true;
 result.innerHTML = '';
 delete result.dataset.kind;
 trigger.style.display = '';
 if (window.MLWM_AUTH &amp;&amp; typeof window.MLWM_AUTH.openDeniedModal === 'function') {
 window.MLWM_AUTH.openDeniedModal({
 title: title,
 body: bodyText,
 ctaText: '订阅方案',
 ctaHref: '/pricing/'
 });
 } else {
 
 window.location.assign('/pricing/');
 }
 }
 function renderDownload(data) {
 
 
 showToast('已触发下载: ' + (data.title || data.url || ''), 'success');
 var a = document.createElement('a');
 a.href = data.url;
 a.rel = 'noopener noreferrer';
 a.download = '';
 a.style.display = 'none';
 document.body.appendChild(a);
 a.click();
 document.body.removeChild(a);
 }
 function renderError(msg) {
 setResult('&lt;div class="subscription-error"&gt;' + escapeHtml(msg || '请求失败,请稍后再试') + '&lt;/div&gt;', 'error');
 }

 
 
 
 
 
 
 
 
 
 
 function fetchResource() {
 if (cached) return Promise.resolve({ ok: true, data: cached });
 if (inflight) return inflight;

 if (!isLoggedIn()) {
 return Promise.resolve({ ok: false, reason: 'not-logged-in', status: 0, body: null });
 }
 var url = resolveApiUrl('/resource/' + encodeURIComponent(resourceId));
 inflight = fetch(url, {
 method: 'GET',
 headers: { 'Authorization': 'Bearer ' + getToken() }
 })
 .then(function (r) {
 return r.json().then(function (j) { return { status: r.status, body: j }; }).catch(function () { return { status: r.status, body: null }; });
 })
 .then(function (resp) {
 if (resp.status === 401) {
 return { ok: false, reason: 'unauthorized', status: 401, body: null };
 }
 var body = resp.body;
 if (!body || typeof body !== 'object') {
 return { ok: false, reason: 'bad-response', status: resp.status, body: body };
 }
 if (body.code === 2002) {
 return { ok: false, reason: 'denied', status: resp.status, body: body };
 }
 if (body.code === 0 &amp;&amp; body.data) {
 
 if (body.data.type === 'content') {
 cached = body.data;
 return { ok: true, data: cached };
 }
 if (body.data.type === 'download' &amp;&amp; body.data.url) {
 return { ok: true, data: body.data };
 }
 }
 return { ok: false, reason: 'api-error', status: resp.status, body: body };
 })
 .catch(function () {
 return { ok: false, reason: 'network', status: 0, body: null };
 });
 
 inflight.then(function () { inflight = null; }, function () { inflight = null; });
 return inflight;
 }

 
 
 function ensureContent() {
 setBusy(true);
 return fetchResource().then(function (result) {
 setBusy(false);
 if (result.ok) {
 if (result.data.type === 'content') {
 renderContentBox(result.data);
 pin();
 return result.data;
 }
 if (result.data.type === 'download') {
 renderDownload(result.data);
 return null;
 }
 return null;
 }
 if (result.reason === 'not-logged-in') {
 showLoginModal({ bannerMessage: '请先登录后再访问资源' });
 } else if (result.reason === 'unauthorized') {
 showLoginModal({ bannerMessage: '登录已过期,请重新登录' });
 } else if (result.reason === 'denied') {
 renderDenied(result.body);
 } else if (result.reason === 'bad-response') {
 renderError('响应异常');
 } else if (result.reason === 'api-error') {
 renderError((result.body &amp;&amp; result.body.msg) || ('请求失败 (code ' + ((result.body &amp;&amp; result.body.code) || '?') + ')'));
 } else if (result.reason === 'network') {
 renderError('网络异常,请稍后再试');
 }
 return null;
 });
 }

 
 
 
 
 trigger.addEventListener('click', function (e) {
 e.stopPropagation();
 if (isExpanded()) return;
 ensureContent();
 });

 
 result.addEventListener('click', function (e) {
 var titleEl = e.target.closest('.subscription-content__title');
 if (titleEl) hideContentBox();
 });

 
 
 
 

 
 
 
 
 
 
 widget.addEventListener('mlwm:subscription-prefetch', function () {
 
 
 
 
 widget._prefetchPromise = fetchResource().then(function () {}, function () {});
 });
})();
&lt;/script&gt;
 。&lt;/p&gt;</description></item><item><title>Pandas 常见问题答疑：10 个新手必踩的坑（DataFrame 取列、shape、dtype、head/tail） | Pandas 数据分析实战</title><link>https://machinelearningwithme.com/course/pandas/chapter01/faq/</link><pubDate>Sat, 24 Oct 2026 22:30:00 +0800</pubDate><guid>https://machinelearningwithme.com/course/pandas/chapter01/faq/</guid><description>&lt;h1 id="第-13-节-常见问题"&gt;第 1.3 节 常见问题&lt;a class="anchor" href="#%e7%ac%ac-13-%e8%8a%82-%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;这一节收集了初学者用 Pandas 时最常卡的 10 个问题。每个问题都给出直接答案，能跑代码的都附上完整示例。&lt;/p&gt;
&lt;blockquote class='book-hint tip'&gt;
&lt;p&gt;&lt;strong&gt;使用方式：&lt;/strong&gt;
不用通读。遇到问题时用 Ctrl+F 搜关键词，直接跳到对应那条。等你把 5 章都学完再回头看，你会发现里面好多问题现在已经有答案了。&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class='book-hint '&gt;
&lt;p&gt;本课程使用的 Pandas 版本是 &lt;code&gt;'3.1.0'&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;准备一下数据，下面每题都会用到：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;pandas&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;as&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;data &lt;span style="color:#666"&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;订单号&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;1001&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1002&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1003&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1004&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1005&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1006&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1007&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1008&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;下单日期&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;2024-01-05&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;2024-01-08&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;2024-01-12&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;2024-02-03&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;2024-02-15&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;2024-03-02&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;2024-03-20&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;2024-04-08&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;城市&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;上海&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;广州&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;上海&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;深圳&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;广州&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;商品&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;手机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;电脑&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;耳机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;手机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;键盘&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;显示器&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;耳机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;手机&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;销量&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;2&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1&lt;/span&gt;, &lt;span style="color:#40a070"&gt;3&lt;/span&gt;, &lt;span style="color:#40a070"&gt;2&lt;/span&gt;, &lt;span style="color:#40a070"&gt;5&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1&lt;/span&gt;, &lt;span style="color:#40a070"&gt;4&lt;/span&gt;, &lt;span style="color:#40a070"&gt;2&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;单价&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;3999.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7999.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;599.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;3999.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;299.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1299.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;599.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;3999.0&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;金额&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;7998.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7999.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1797.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7998.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1495.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1299.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;2396.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7998.0&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;客户评分&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;4.5&lt;/span&gt;, &lt;span style="color:#40a070"&gt;4.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;4.8&lt;/span&gt;, &lt;span style="color:#40a070"&gt;3.9&lt;/span&gt;, &lt;span style="color:#40a070"&gt;4.2&lt;/span&gt;, &lt;span style="color:#40a070"&gt;4.6&lt;/span&gt;, &lt;span style="color:#40a070"&gt;4.1&lt;/span&gt;, &lt;span style="color:#40a070"&gt;4.9&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;df &lt;span style="color:#666"&gt;=&lt;/span&gt; pd&lt;span style="color:#666"&gt;.&lt;/span&gt;DataFrame(data)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="q1如何从字典列表或-numpy-数组创建-dataframe"&gt;Q1：如何从字典、列表或 NumPy 数组创建 DataFrame？&lt;a class="anchor" href="#q1%e5%a6%82%e4%bd%95%e4%bb%8e%e5%ad%97%e5%85%b8%e5%88%97%e8%a1%a8%e6%88%96-numpy-%e6%95%b0%e7%bb%84%e5%88%9b%e5%bb%ba-dataframe"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;答案：&lt;/strong&gt; 三种都传给 &lt;code&gt;pd.DataFrame()&lt;/code&gt;，区别只在于「数据怎么排」。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;字典&lt;/strong&gt;——键是列名，值是这一列的数据：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;df &lt;span style="color:#666"&gt;=&lt;/span&gt; pd&lt;span style="color:#666"&gt;.&lt;/span&gt;DataFrame({
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;城市&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;上海&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;销量&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;2&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;列表&lt;/strong&gt;——每一行是一个列表，用 &lt;code&gt;columns=&lt;/code&gt; 指定列名：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;df &lt;span style="color:#666"&gt;=&lt;/span&gt; pd&lt;span style="color:#666"&gt;.&lt;/span&gt;DataFrame([
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#40a070"&gt;2&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#4070a0"&gt;&amp;#34;上海&amp;#34;&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;], columns&lt;span style="color:#666"&gt;=&lt;/span&gt;[&lt;span style="color:#4070a0"&gt;&amp;#34;城市&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;销量&amp;#34;&lt;/span&gt;])&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;字典的列表&lt;/strong&gt;——每一行是一个字典，列名自动取所有键的并集：&lt;/p&gt;</description></item></channel></rss>