PythonGuides-博客中文翻译-六-
PythonGuides 博客中文翻译(六)
matplotlib tight _ layout–有用的教程
在本 Python Matplotlib 教程中,我们将讨论 Python 中的 Matplotlib tight_layout
。在这里,我们将使用 matplotlib 介绍与紧密布局相关的不同示例。我们还将讨论以下主题:
- Matplotlib tick_layout
- Matplotlib tight_layout 示例
- Matplotlib 紧密布局焊盘
- Matplotlib 紧密布局 hspace
- Matplotlib 紧密布局 wspace
- Matplotlib 紧密布局矩形
- Matplotlib tight_layout 保存图
- Matplotlib tight_layout 子情节
- Matplotlib tight_layout suptitle
- Matplotlib tight_layout 剪切标签
- Matplotlib 紧密布局图例
- Matplotlib 紧密布局 bbox
- Matplotlib tight_layout 未应用
- Matplotlib tight_layout rcparams
- Matplotlib imshow tight_layout
- Matplotlib tight_layout gridspec
- Matplotlib tight_layout 颜色条
- Matplotlib 表格紧密布局
- Matplotlib 散点图紧密布局
- Matplotlib 3d plot tight layout
- Matplotlib undo tight_layout
- Matplotlib 紧密布局替代方案
- Matplotlib constrained_layout 与 tight_layout
目录
- Matplotlib tick_layout
- Matplotlib tight_layout 示例
- Matplotlib tight _ layout pad
- Matplotlib tight _ layout hspace
- Matplotlib tight _ layout wspace
- Matplotlib tight _ layout rect
- Matplotlib tight _ layout save fig
- Matplotlib tight_layout 支线剧情
- Matplotlib tight _ layout sup title
- Matplotlib tight_layout 切割标签
- Matplotlib tight_layout 图例
- matplotlibb TIG _ layout bbox
- Matplotlib tight_layout 未应用
- Matplotlib tight _ layout RC params
- Matplotlib imshow tight _ layout
- Matplotlib tight _ layout grid spec
- Matplotlib tight _ layout color bar
- Matplotlib 表紧 _ 布局
- Matplotlib 散点紧密 _ 布局
- Matplotlib 3d plot tight layout
- Matplotlib undo tight_layout
- Matplotlib tight_layout 替代方案
- Matplotlib constrained _ layout vs tight _ layout
Matplotlib tick_layout
在本节中,我们将学习 Python 中 matplotlib 的 pyplot 模块中的 tick_layout
()函数。 tick_layout
方法用于自动调整支线剧情。或者我们可以说,这个方法是用来调整子情节之间和周围的填充的。
语法如下:
matplotlib.pyplot.tight_layout(*, pad=1.08, h_pad=None, w_pad=None, rect=None)
以下是上面使用的参数:
| 参数 | 值 | 默认值 | 描述 |
| 衬垫 | 漂浮物 | One point zero eight | 此参数用于指定人物边缘和子情节边缘之间的填充,作为字体大小的一部分。 |
| h_pad, w_pad | 漂浮物 | 衬垫 | 此参数用于指定相邻子情节边缘之间的高度或粗细,作为字体大小的一部分。 |
| 矩形 | 元组(左、下、右、上) | (0, 0, 1, 1) | 该参数用于在标准化图形坐标中指定一个矩形,包括标签在内的整个子图形区域将适合该矩形。 |
tight_layout
我们使用 tight_layout()函数的不同情况:
- 当轴标签或标题超出图形区域时。
- 当不同子情节的轴标签或标题相互重叠时。
- 当我们在图形区域有多个支线剧情,并且每个都有不同的大小时。
- 当我们想要调整人物周围和支线剧情之间的额外填充时。
阅读Python Matplotlib tick _ params+29 示例
Matplotlib tight_layout 示例
有时在多个支线剧情的情况下,我们会看到标签、标记、标题、图例等互相重叠。
在 matplotlib 中,为了避免重叠,或者我们可以说,为了调整子情节之间的间距,我们可以使用 tight_layout()
函数。
这个函数( tight_layout
)的主要目的是最小化重叠,而不是剪切它们。
我们来看一个例子:
代码#1:正常绘图
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(1, 2)
**# Define Data**
x = np.arange(0.0, 30.0 , 0.02)
y1 = np.sin(x)
y2 = np.exp(-x)
**# PLot Subplot 1**
ax[0].plot(x, y1, label='Line1')
ax[0].plot(x, y2, marker ='o', label='Line2')
**# Add legend**
ax[0].legend(loc='upper left')
**# Define Data**
y3 = np.tan(x)
y4 = np.exp(-2 * x)
**# plot subplot 2**
ax[1].plot(x, y3, color ='cyan', label='Line3')
ax[1].plot(x, y4, color ='tab:red', marker ='o', label='Line4')
**# Add legend**
ax[1].legend(loc='upper right')
**# Show**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
包。 - 接下来,我们使用
subplots()
方法创建一个图形和一组 subplots。 - 之后,我们为子图 1 和子图 2 定义数据坐标,并使用
plot()
方法绘制数据。 - 为了放置每个子情节的图例,我们添加了标签,并且为了激活每个曲线的标签,我们使用了
legend()
方法。 - 要显示该图,请使用
show()
方法。
Normal PLot
上面的代码#1 只是一个简单的 matplotlib 子情节代码,其中我们在一个图形区域中有多个子情节。
代码#2:紧密布局
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(1, 2)
**# Define Data**
x = np.arange(0.0, 30.0 , 0.02)
y1 = np.sin(x)
y2 = np.exp(-x)
**# PLot Subplot 1**
ax[0].plot(x, y1, label='Line1')
ax[0].plot(x, y2, marker ='o', label='Line2')
**# Add legend**
ax[0].legend(loc='upper left')
**# Define Data**
y3 = np.tan(x)
y4 = np.exp(-2 * x)
**# Plot subplot 2**
ax[1].plot(x, y3, color ='cyan', label='Line3')
ax[1].plot(x, y4, color ='tab:red', marker ='o', label='Line4')
**# Add legend**
ax[1].legend(loc='upper right')
**# tight_layout**
plt.tight_layout()
**# Show**
plt.show()
在这个例子中,我们还使用了 tight_layout()
函数来调整图形的标签,而不是剪切它们。
tight_layout()
在上面的代码#2 中,我们要实现 tight_layout()
函数。
Matplotlib tight _ layout pad
我们将学习如何调整人物边缘和支线剧情边缘之间的填充。为了调整它们,我们使用垫参数。
以下是语法:
matplotlib.pyplot.tight_layout(pad=1.08)
举例:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(2, 2)
**# Define Data**
data = np.arange(0.0, 30, 0.05)
x1= np.sin(data)
y1= np.cos(data)
x2= np.cos(data)
y2= np.tan(data)
x3= np.tan(data)
y3= np.exp(data*2)
x4= [5,10,15]
y4= [6,12,18]
**# Plot curves or subplots**
ax[0, 0].plot(x1, y1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
**# Add title to graph**
ax[0, 0].set_title("Graph 1 ")
ax[0, 1].set_title("Graph 2")
ax[1, 0].set_title("Graph 3")
ax[1, 1].set_title("Graph 4")
**# tight_layout**
plt.tight_layout(pad=3.68)
**# Show**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
包。 - 接下来,我们使用
subplots()
方法创建一个图形和一组 subplots。 - 之后,我们为多个子图定义数据坐标,并使用
plot()
方法绘制数据。 - 通过使用
set_title()
方法,我们为每个情节添加标题。 - 要调整填充,请使用
plt.tight_layout()
方法。我们将pad
作为参数传递,并在各自的情况下将它们赋值为3.68
和5.86
。
plt.tight_layout(pad=3.68)
plt.tight_layout(pad=5.86)
Matplotlib tight _ layout hspace
我们将学习如何调整相邻支线剧情边缘之间的高度。为了调整高度,我们将 h_pad
参数传递给 tight_layout()
方法。
以下是语法:
matplotlib.tight_layout(h_pad=None)
我们来看一个例子:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(2, 1)
**# Define Data**
data = np.arange(0.0, 30, 0.05)
x1= np.sin(data)
y1= np.cos(data)
x2= np.cos(data)
y2= np.tan(data)
**# Plot curves or subplots**
ax[0].plot(x1, y1)
ax[1].plot(x2, y2)
**# Add title to graph**
ax[0].set_title("Graph 1 ")
ax[1].set_title("Graph 2")
**# tight_layout**
plt.tight_layout(h_pad=0.2)
**# Show**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
包。 - 之后,我们使用
subplots()
方法创建一个图形和一组支线剧情。 - 我们为多个子图定义数据坐标,并使用
plot()
方法绘制数据。 - 通过使用
set_title()
方法,我们为每个情节添加标题。 - 要调整边缘之间的高度,请使用
plt.tight_layout()
方法。我们将h_pad
作为参数传递,并在各自的情况下将它们赋值为 1.5 和 15.5。
tight_layout(h_pad=1.5)
tight_layout(h_pad=15.5)
Matplotlib tight _ layout wspace
我们将学习如何调整相邻支线剧情边缘之间的宽度。为了调整宽度,我们将 w_pad
参数传递给 tight_layout()
方法。
以下是语法:
matplotlib.tight_layout(w_pad=None)
我们来看一个例子:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(1, 2)
**# Define Data**
data = np.arange(0.0, 30, 0.05)
x1= np.sin(data)
y1= np.cos(data)
x2= np.exp(data*2)
y2= np.tan(data)
**# Plot curves or subplots**
ax[0].plot(x1, y1)
ax[1].plot(x2, y2)
**# Add title to graph**
ax[0].set_title("Graph 1 ")
ax[1].set_title("Graph 2")
**# tight_layout**
plt.tight_layout(w_pad=5.5)
**# Show**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
包。 - 之后,我们使用
subplots()
方法创建一个图形和一组支线剧情。 - 我们为多个子图定义数据坐标,并使用
plot()
方法绘制数据。 - 通过使用
set_title()
方法,我们为每个情节添加标题。 - 要调整边缘之间的宽度,使用
plt.tight_layout()
方法。我们将w_pad
作为参数传递,并赋予它们5.5
值。
tight_layout()
这里我们使用 tight_layout()
方法,没有 w_pad 参数。
plt.tight_layout(w_pad=5.5)
这里我们使用带有 w_pad 参数的 tight_layout()
方法。
Matplotlib tight _ layout rect
我们将学习如何在标准化图形坐标中指定一个矩形,包括标签在内的整个支线剧情区域都将适合这个矩形。
以下是语法:
matplotlib.pyplot.tight_layout(rect=(0, 0, 1, 1)
我们来看一个例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(1, 2)
**# Define Data**
x = np.arange(0.0, 30.0 , 0.02)
y1 = np.sin(x)
y2 = np.exp(-x)
**# PLot Subplot 1**
ax[0].plot(x, y1, label='Line1')
ax[0].plot(x, y2, marker ='o', label='Line2')
**# Add legend**
ax[0].legend(loc='upper left')
**# Define Data**
y3 = np.tan(x)
y4 = np.exp(-2 * x)
**# Plot subplot 2**
ax[1].plot(x, y3, color ='cyan', label='Line3')
ax[1].plot(x, y4, color ='tab:red', marker ='o', label='Line4')
**# Add legend**
ax[1].legend(loc='upper right')
**# tight_layout**
fig.tight_layout(rect=(1.5, 0.86, 4.23, 2.55))
**# Show**
plt.show()
- 在示例中,我们使用了
arange()
、sin()
、cos()
、tan()
、exp()
函数来定义数据。 - 要绘制图形,请使用
plt.plot()
方法。 - 为了放置每个支线剧情的图例,我们添加了 标签 并激活每个曲线的标签,我们使用了
legend()
方法。 - 使用带有矩形参数的 tight_layout() 方法。我们传递一个值为 1.5,0.86,4.23,2.55 的元组。
Simple Plot Without tight_layout()
tight_layout()
Matplotlib tight _ layout save fig
有时,我们会在创建的图形上看到大边框。为了获得自动调整大小的边框,我们使用了 tight_layout()
函数。
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(0.0, 30.0 , 0.02)
y1 = np.sin(x)
y2 = np.exp(-x)
**# Plot**
plt.plot(x, y1, label='Line1')
plt.plot(x, y2, marker ='o', label='Line2')
**# tight_layout**
plt.tight_layout()
**# Savefig**
plt.savefig('SimplePlot.png')
**# Show**
plt.show()
- 在上面的例子中,我们使用了
tight_layout()
方法来调整绘图的边界。 - 使用 plt.savefig() 方法将图形保存为
png
。
savefig()
当我们在不使用 tight_layout
函数的情况下保存绘图时,会出现上面的输出。这里我们得到了额外的边界。
savefig() with tight_layout()
Matplotlib tight_layout 支线剧情
matplotlib 库中的 tight_layout
函数用于自动调整子情节之间的适当间距,使其适合图形区域而不被切割。
我们来看一个例子:
**# Importing library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplots**
fig, ax = plt.subplots(3,1)
**# Define Data**
x1= [2,4,6]
y1= [3,6,9]
x2= [5,10,15]
y2= [6,12,18]
x3= [2,4,6]
y3= [3,6,9]
**# Plot lines**
ax[0].plot(x1, y1)
ax[1].plot(x2, y2)
ax[2].plot(x3, y3)
**# Add title**
ax[0].set_title("Graph 1 ")
ax[1].set_title("Graph 2")
ax[2].set_title("Graph 3")
**# Auto adjust**
plt.tight_layout()
**# Display**
plt.show()
- 在上面的例子中,我们创建了 3 行 1 列的图形和支线剧情。
- 之后,我们定义数据坐标,并使用
plot()
方法在它们之间绘制一条线。 set_title()
方法用于添加标题。- 为了消除重叠或者自动调整支线剧情,我们使用了
tight_layout()
方法。
“Plot Without tight_layout() method”
“Subplots with tight_layout() function”
Matplotlib tight _ layout sup title
有时候,剧情的 suptitle 和 title 互相重叠,剧情看起来不整洁。我们将学习如何自动调整情节的标题。
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure**
fig = plt.figure()
**# Define Data**
x = np.random.randint(10,size=500)
y = np.random.random(500)
**# Add sup tile**
fig.suptitle('SUPTITLE', fontsize=24)
**# Create subplot 1**
plt.subplot(121)
**# Plot line**
plt.plot(x)
**# Add Title**
plt.title('RANDINT PLOT', fontsize=15)
**# Create subplot 2**
plt.subplot(122)
**# Plot line**
plt.plot(y)
**# Add Title**
plt.title('RANDOM PLOT', fontsize=15)
**# Auto adjust**
plt.tight_layout()
**# Dispaly**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
模块。 - 接下来,我们使用
plt.figure()
方法创建一个图形。 - 之后,我们使用
randint()
和random()
方法定义数据。 - 然后,我们通过使用
fig.suptitle()
方法向该图添加一个标题。 plt.subplots()
方法用于在一个图区域中创建支线剧情。- 要绘制数据坐标之间的直线,使用
plt.plot()
方法。 - 要给绘图添加标题,使用
plt.title()
方法。 - 要消除标题重叠,请使用
tight_layout()
函数。
“Overlap title plot”
tight_layout()
Matplotlib tight_layout 切割标签
有时,图的 x 轴标签和 y 轴标签相互重叠,图看起来不整洁。我们将学习如何自动调整图的标签。
我们来看一个例子:
**# Importing library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplots**
fig, ax = plt.subplots(2,2, figsize=(8, 5))
**# Define Data**
x1= np.random.randint(10,size=500)
x2= [5,10,15]
y2= [6,12,18]
x3= np.arange(0.0, 30.0 , 0.02)
y3= np.tan(x3)
x4 = np.arange(0.0, 30.0 , 0.02)
y4 = np.sin(x4)
**# Plot lines**
ax[0, 0].plot(x1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
**# Add xlabel**
ax[0, 0].set_xlabel('X-Axis')
ax[1, 0].set_xlabel('X-Axis')
ax[0, 1].set_xlabel('X-Axis')
ax[1, 1].set_xlabel('X-Axis')
**# Add ylabel**
ax[0, 0].set_ylabel('Y-Axis')
ax[1, 0].set_ylabel('Y-Axis')
ax[0, 1].set_ylabel('Y-Axis')
ax[1, 1].set_ylabel('Y-Axis')
**# Auto adjust**
plt.tight_layout()
**# Display**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
库。 - 之后,我们使用支线剧情()方法创建人物和支线剧情。
- 然后我们定义数据坐标,并用
plt.plot()
方法在它们之间画一条线。 set_xlabel()
和set_ylabel()
方法分别用于在 x 轴和 y 轴添加标签。- 要自动调整绘图,请使用
tight_layout()
函数。
“Overlap labels”
tight_layout()
检查完毕, Matplotlib 反转 y 轴
Matplotlib tight_layout 图例
有时,当我们在机器中保存一个带有图例的图时,我们发现图例被截断了。所以,我们将学习如何解决在保存一个情节时图例被切断的问题。
为了避免图例的截断,请使用 matplotlib 的 pyplot 模块的 tight_layout()
方法。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Create figure**
fig = plt.figure(1)
**# Plot**
plt.plot([1, 2, 3, 4, 5], [1, 0, 1, 0, 1], label='A label')
plt.plot([1, 2, 3, 8, 2.5], [1, 2, 2, 1, 0], label='B label')
**# Legend**
plt.legend(loc='center left', bbox_to_anchor=(1, 0))
**# Savefig**
#fig.savefig('Cut-off Legend.png')
**# Display**
plt.show()
- 这里我们导入
matplotlib.pyplot
库,使用plt.figure()
创建图形。 - 之后,我们绘制图表并定义标签。
- 然后我们使用
plt.legend()
方法在图中添加一个图例。并且我们传递 loc 和bbox_to_anchor
参数,分别设置它们的值中左,和 1,0 。 - 使用
savefig()
方法在机器中保存图形。
” Jupyter Notebook Output “
” Savefig Output “
在上面的输出中,我们看到当我们使用 savefig()
方法在机器中保存绘图时,l egends 被切断。
为了克服这个问题,我们使用了
tight_layout()
方法。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Create figure**
fig = plt.figure(1)
**# Plot**
plt.plot([1, 2, 3, 4, 5], [1, 0, 1, 0, 1], label='A label')
plt.plot([1, 2, 3, 8, 2.5], [1, 2, 2, 1, 0], label='B label')
**# Legend**
plt.legend(loc='center left', bbox_to_anchor=(1, 0))
**# Adjust legend**
plt.tight_layout()
**# Savefig**
fig.savefig('Proper Legend.png')
**# Display**
plt.show()
现在,这里我们使用 plt.tight_layout()
方法,用于自动调整绘图、标记标签、标签和图例。
plt.tight_layout()
在上面的输出中,我们使用 tight_layput()
方法来获得正确的图例。
matplotlibb TIG _ layout bbox
在本节中,我们将学习在系统中保存地块时如何避免重叠、截断和额外空间。save fig()
方法的 bbox_inches 参数和 matplotlib 的 tight_layout()
方法帮助你克服这个问题。
我们来看一个例子:
**# Importing library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplots**
fig, ax = plt.subplots(2,1, figsize=(8, 5))
**# Define Data**
x1= np.random.randint(10,size=500)
x2= np.arange(0.0, 30.0 , 0.02)
y2= np.tan(x2)
**# Plot lines**
ax[0].plot(x1)
ax[1].plot(x2, y2)
**# Add sup tile**
fig.suptitle('SUPTITLE', fontsize=24)
**# Add xlabel**
ax[0].set_xlabel('X-Axis')
ax[1].set_xlabel('X-Axis')
**# Add ylabel**
ax[0].set_ylabel('Y-Axis')
ax[1].set_ylabel('Y-Axis')
**# Auto adjust**
plt.tight_layout()
fig.savefig('tight_layout bbox.png', bbox_inches='tight')
**# Display**
plt.show()
- 在上面的例子中,为了定义数据坐标,我们使用了
randint()
、arange()
和tan()
方法。 - 之后,为了创建绘图曲线,我们使用了
plot()
方法。 suptitle()
方法用于给情节添加标题。set_xlabel()
和set_yalbel()
方法用于分别在 x 轴和 y 轴添加标签。plt.tight_layout()
方法是自动调整支线剧情。- 我们将
bbox_inches
参数传递给savefig()
方法,并将其值设置为“tight”,因为它移除了多余的边框。
Overlapped Plot
plt.tight_layout() and bbox_inches =’tight’
签出, Matplotlib 另存为 pdf + 13 示例
Matplotlib tight_layout 未应用
在某些情况下, tight_layout()
方法不能正常工作。在第节中,我们将学习在这种情况下我们必须做什么。
让我们借助一个例子来理解整个概念:
**# Import Library**
import matplotlib.pyplot as plt
**# Create figure**
fig = plt.figure(1)
**# Define Data**
data = np.arange(0.0, 30.0 , 0.02)
x1 = np.sin(data)
x2 = np.cos(data)
**# Plot**
plt.plot(data, x1, label='Sin')
plt.plot(data, x2, label='Cos')
**# Add legend**
plt.legend(loc='center left', bbox_to_anchor=(0.8,-0.1))
**# tight_layout**
plt.tight_layout()
**# display**
plt.show()
从上面的例子中,我们得出结论, tight_layout()
方法不起作用,因为图例与 ticklabels 重叠。
解决方案:使用 tight_layout()
配合 rect
参数。
代码:
**# Import Library** import matplotlib.pyplot as plt
import numpy as np
**# Create figure**
fig = plt.figure(1)
**# Define Data**
data = np.arange(0.0, 30.0 , 0.02)
x1 = np.sin(data)
x2 = np.cos(data)
**# Plot**
plt.plot(data, x1, label='Sin')
plt.plot(data, x2, label='Cos')
**# Add legend**
plt.legend(loc='center left', bbox_to_anchor=(0.8,-0.1))
**# tight_layout with rect**
plt.tight_layout(rect=(1.5, 0.86, 3.23, 2.55))
**# display**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
库,并使用plt.figure()
创建了一个图形。 - 之后,我们使用 numpy 的
arange()
、sin()
和cos()
方法定义数据。 - 为了绘制数据,使用 matplotlib pyplot 模块的
plot()
方法。 - 为了放置图例,我们添加了 标签 并激活每条曲线的标签,我们使用了
legend()
方法。 - 为了恰当地适应包括标签在内的子情节区域,我们使用带有矩形参数的紧密布局方法。
plt.tight_layout(rect=())
Matplotlib tight _ layout RC params
matplotlib.pyplot.tight_layout()方法仅在被调用时自动调整子情节。如果希望每次重新绘制图形时,都必须进行这种更改,请设置 rcParams。
语法如下:
rcParams["figure.autolayout]
默认情况下,其值为 False。将其设置为 True。
我们来看一个例子:
**# Importing library**
import numpy as np
import matplotlib.pyplot as plt
**# Default adjustment**
plt.rcParams["figure.autolayout"] = True
**# Create figure and subplots**
fig, ax = plt.subplots(2,1, figsize=(8, 5))
**# Define Data**
x1= [0, 1, 2, 3, 4]
y1= [2.5, 3.5, 4.5, 6.3, 2.1]
x2= [2, 4, 8, 3, 1]
y2= [5.2, 6, 1, 2.6, 9]
**# Plot lines**
ax[0].plot(x1, y1)
ax[1].plot(x2, y2)
**# Add sup tile**
fig.suptitle('SUPTITLE', fontsize=24)
**# Add xlabel**
ax[0].set_xlabel('X-Axis')
ax[1].set_xlabel('X-Axis')
**# Add ylabel**
ax[0].set_ylabel('Y-Axis')
ax[1].set_ylabel('Y-Axis')
**# Display**
plt.show()
在上面的例子中,我们使用RC params[" figure . autolayout "]而不是 tight_layout()
的方法来调整支线剧情,并将其设置为值 True
。
plt.rcParams[“figure.autolayout”]
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure**
fig = plt.figure()
**# Define Data**
x = np.random.randint(10,size=500)
y = np.random.random(500)
**# Add sup tile**
fig.suptitle('SUPTITLE', fontsize=24)
**# Create subplot 1**
plt.subplot(121)
**# Plot line**
plt.plot(x)
**# Add Title**
plt.title('RANDINT PLOT', fontsize=15)
**# Create subplot 2**
plt.subplot(122)
**# Plot line**
plt.plot(y)
**# Add Title**
plt.title('RANDOM PLOT', fontsize=15)
**# Dispaly**
plt.show()
现在,看上面的例子,我们没有使用任何方法来调整支线剧情。它会自动调整支线剧情,因为我们在前面的例子中使用了 rcParams[] 。因此,每次重新绘制图形时,它都会自动调整。
Matplotlib imshow tight _ layout
我们将学习如何使用 tight_layout
方法和 imshow()
方法。首先我们了解什么是 imshow()
函数。
【imshow()】函数用于将数据显示为图像。
*tick_layout
方法与 imshow()
方法一起使用,自动调整绘图。
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig = plt.figure(figsize=(8,5))
ax = plt.subplot(111)
**# Define Data**
arr = np.arange(100).reshape((10,10))
**# Title**
fig.suptitle('imshow() function Example', fontweight ="bold", fontsize= 24)
**# plot**
im = ax.imshow(arr, interpolation="none")
**# adjsut**
plt.tight_layout()
**# Visualize**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
库。 - 在此之后,我们分别使用图()和支线剧情()的方法创建和支线剧情,
- 然后我们使用
arange()
方法定义数据,并使用reshape()
方法对其进行整形。 - 为了给图添加一个 suptitle,我们使用
suptitle()
方法。我们将字体大小和字体重量作为参数传递。 - 然后我们使用
imshow()
方法绘制图形,使用tight_layout()
方法自动调整图形。
imshow()
Matplotlib tight _ layout grid spec
我们将学习如何对 GridSpec
类使用 tight_layout()
方法。首先了解什么是 GridSpec
类。
matplotlib.grispec.GridSpec 类用于指定放置子图的网格的几何形状。必须设置行数和列数。
GridSpec 类的语法如下:
matplotlib.gridspec.GridSpec(nrows, ncols, figure=None, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None, width_ratio=None, height_ratio=None)
GridSpec 有自己的 tight_light()
方法。pyplot 的 tight_layout()
方法也适用于它。我们也可以使用指定边界框的矩形参数。 h_pad
和 w_pad
参数用于调整绘图的顶部和底部。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
**# Create figure**
fig = plt.figure(figsize =([9, 5]))
**# GridSpec**
gs = gridspec.GridSpec(2, 6)
**# Subplots**
ax1 = plt.subplot(gs[0, :2])
ax1.set_ylabel('ylabel', labelpad = 0, fontsize = 12)
ax1.plot([0, 1, 2], [2, 3.6, 4])
ax2 = plt.subplot(gs[0, 2:4])
ax2.set_ylabel('ylabel', labelpad = 0, fontsize = 12)
ax2.plot([2, 5.5, 9], [2, 3.6, 4])
ax3 = plt.subplot(gs[1, 1:3])
ax3.set_ylabel('ylabel', labelpad = 0, fontsize = 12)
ax3.plot([0, 1, 2], [1, 2, 3])
ax4 = plt.subplot(gs[1, 3:5])
ax4.set_ylabel('ylabel', labelpad = 0, fontsize = 12)
ax4.plot([2.3, 4.6, 8.8, 9.6], [4.2, 5.5, 6, 4])
**# Auto adjust**
plt.tight_layout()
**# Display**
plt.show()
- 在上面的例子中,我们
pyplot
和GridSpec
matplotlib 的类。 - 为了创建一个图,我们使用
figure()
方法。 - 之后,我们使用
GridSpec()
方法创建网格来放置子情节。 - 为了在 y 轴上设置标签,我们使用了
set_yalbel()
方法。 - 然后我们用
tight_layout()
的方法自动调整支线剧情。
Overlapped Subplots
tight_layout()
Matplotlib tight _ layout color bar
我们将学习如何使用 tight_layout()
方法和 colorbar()
方法。一个 colorbar()
方法被用来给绘图添加一个颜色条。
colorbar()方法的语法如下:
matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, **kw)
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig = plt.figure(figsize=(8,5))
ax = plt.subplot(111)
**# Define Data**
arr = np.arange(100).reshape((10,10))
**# Plot**
im = ax.imshow(arr, interpolation="none")
**# Add colorabar**
plt.colorbar(im)
**# adjsut**
plt.tight_layout()
**# Visualize**
plt.show()
- 在这里,我们使用 numpy 的
arange()
方法定义数据,然后使用reshape()
方法重塑图形。 - 之后,我们使用
imshow()
方法绘制图形。 - 要将 colorbar 添加到绘图中,请使用
colorbar()
方法。 tight_layout()
方法用于自动调整情节。
plt.colorbar()
Matplotlib 表紧 _ 布局
我们将学习如何在图形区域内自动调整图和表,而不发生重叠。在 matplotlib 中通过使用matplotlib . py plot . table()
方法我们可以创建一个表格。
创建表格的语法如下:
matplotlib.pyplot.table(cellText=None, cellColours=None,
cellLoc=’right’,colWidths=None,
rowLabels=None, rowColours=None,
rowLoc=’left’,colLabels=None,
colColours=None, colLoc=’center’,
loc=’bottom’, bbox=None,
edges=’closed’, **kwargs)
我们来看一个例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define data**
data = np.random.rand(3, 2)
columns = ('Col1', 'Col2')
rows = ['# %d' % p for p in (1, 2, 3)]
**# Plot data**
plt.plot(data)
**# X-axis**
plt.xlabel('X-axis')
**# Define table**
the_table = plt.table(cellText=data,rowLabels=rows, colLabels=columns,loc='bottom', bbox=[0,-0.55,1,.33])
**# auto adjust**
plt.tight_layout()
**# Display**
plt.show()
- 这里我们导入
numpy
和matplotlib.pyplot
库。 - 接下来,我们使用
random.rand()
方法定义数据,我们还定义了列和行。 - 通过使用
plt.plot()
我们创建一个图形,并使用plt.xlabel()
方法定义其 x 轴标签。 - 要生成表格,请使用 matplotlib 的
table()
方法,带有cellText
、rowLabels
、colLabels
、loc
和bbox
参数。 - 为了避免重叠,并使绘图整洁,我们使用了
tight_layout()
方法。
plt.tight_layout()
检查, Matplotlib 散点图标记
Matplotlib 散点紧密 _ 布局
这里我们将学习如何在散点图中使用 tight_layout()
方法。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Create figure**
fig = plt.figure(1)
**# Define Data**
x = [1, 2, 3, 4, 5]
y1 = [5, 10, 15, 20, 25]
y2 = [10, 20, 30, 40, 50]
**# Plot**
plt.scatter(x, y1, label='X*5')
plt.scatter(x, y2, label='X*10')
**# Add legend**
plt.legend(loc='center left', bbox_to_anchor=(0.8,-0.1))
**# tight_layout with rect**
plt.tight_layout(rect=(1.5, 0.86, 3.23, 2.55))
**# display**
plt.show()
- 这里我们使用
scatter()
方法绘制散点图。为了给情节添加一个图例,我们使用plt.legend()
方法。 - 我们看到,在不使用
tight_layout()
方法的情况下,散点图的图例和 x 轴标记标签相互重叠。因此,为了避免重叠,我们使用带有rect
参数的tight_layout()
方法。
“Overlapped Scatter Plot”
plt.tight_layout()
Matplotlib 3d plot tight layout
我们将学习如何使用 tight_layout()
方法自动调整 3d 绘图。
举例:
**# Importing Libraries**
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
**# Create 1st subplot**
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(1, 2, 1, projection='3d')
**# Define Data**
x1= [0.2, 0.4, 0.6, 0.8, 1]
y1= [0.3, 0.6, 0.8, 0.9, 1.5]
z1= [2, 6, 7, 9, 10]
**# Plot graph**
ax.scatter3D(x1, y1, z1, color='m')
ax.set_xlabel('X-Axis')
ax.set_ylabel('Y-Axis')
ax.set_zlabel('Z-Axis')
**# Create 2nd subplot**
ax = fig.add_subplot(1, 2, 2, projection='3d')
**# Define Data**
x2 = np.arange(0, 20, 0.2)
y2 = np.sin(x2)
z2 = np.cos(x2)
**# Plot graph**
ax.scatter3D(x2, y2, z2, color='r')
ax.set_xlabel('X-Axis')
ax.set_ylabel('Y-Axis')
ax.set_zlabel('Z-Axis')
**# auto adjust**
plt.tight_layout()
**# Display graph**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
、numpy
和mplot3d
库。 - 通过使用
add_subplot()
方法,我们创建第一个子图,然后我们定义用于绘图的数据。 ax.scatter3D()
方法用于创建 3D 散点图。- 之后,我们再次使用
add_subplot()
方法创建第二个子绘图,然后我们定义用于绘图的数据。 - 同样,我们使用
ax.scatter3D()
方法绘制另一个 3D 散点图。 - 为了自动调整绘图布局,我们使用
tight_layout()
。
tight_layout()
Matplotlib undo tight_layout
有时,默认情况下,自动调整功能是打开的,以便在每次重新绘制图形时执行调整。如果想关闭它,可以调用 fig.set_tight_layout()
方法,并将 False
bool 值传递给该方法。
让我们来看一个例子
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(1, 2)
**# Define Data**
x = np.arange(0.0, 30.0 , 0.02)
y1 = np.sin(x)
y2 = np.exp(-x)
**# PLot Subplot 1**
ax[0].plot(x, y1, label='Line1')
ax[0].plot(x, y2, marker ='o', label='Line2')
**# Add legend**
ax[0].legend(loc='upper left')
**# Define Data**
y3 = np.tan(x)
y4 = np.exp(-2 * x)
**# plot subplot 2**
ax[1].plot(x, y3, color ='cyan', label='Line3')
ax[1].plot(x, y4, color ='tab:red', marker ='o', label='Line4')
**# Add legend**
ax[1].legend(loc='upper right')
**# Show**
plt.show()
- 在上面的例子中,我们通过使用 matplotlib.pyplot 的
subplots()
方法创建图形和 subplots。 - 之后,我们使用
arange()
、sin
和exp()
方法定义数据。 - 然后,我们使用
plot()
方法来绘制图形,我们还使用legend()
函数来定义图例。
“Auto Adjusted Plot”
从上面生成的输出中,我们得出结论,默认情况下,生成的支线剧情是自动调整的。
Code:撤销或关闭 tight_layout()
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplot**
fig, ax = plt.subplots(1, 2)
**# undo tight_layout**
fig.set_tight_layout(False)
**# Define Data**
x = np.arange(0.0, 30.0 , 0.02)
y1 = np.sin(x)
y2 = np.exp(-x)
**# PLot Subplot 1**
ax[0].plot(x, y1, label='Line1')
ax[0].plot(x, y2, marker ='o', label='Line2')
**# Add legend**
ax[0].legend(loc='upper left')
**# Define Data**
y3 = np.tan(x)
y4 = np.exp(-2 * x)
**# plot subplot 2**
ax[1].plot(x, y3, color ='cyan', label='Line3')
ax[1].plot(x, y4, color ='tab:red', marker ='o', label='Line4')
**# Add legend**
ax[1].legend(loc='upper right')
**# Show**
plt.show()
现在通过使用上面的代码,我们可以撤销支线剧情的自动调整。这里我们用 False
值调用 fig.set_tight_layout()
方法,并撤销绘图的自动布局特性。
fig.set_tight_layout(False)
Matplotli b 紧 _ 布局备选
紧 _ 布局 的替代方案是 约束 _ 布局
我们使用 constrained_layout
在您的图形中清晰地拟合图形。*constrained _ layout*
自动调整支线剧情、图例、彩条、标题和标签,使其适合人物区域,同时仍保留用户要求的布局。
在向图形添加任何轴之前,必须激活 constrained_layout 。我们可以用两种方式激活它。
- 通过 rcParams 激活:
matplotlib.pyplot.rcParams['figure.constrained_layout.use']=True
- 通过参数激活 subplots()或 figure()方法:
**# Using subplots()**
plt.subplots(constrained_layout=True)
**# Uisng figure()**
plt.figure(constrained_layout=True)
我们先来看一个简单的例子,以便更清楚地理解:
**# Importing library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplots**
fig, ax = plt.subplots(2,2, figsize=(8, 5))
**# Define Data**
x1= np.random.randint(10,size=500)
x2= np.linspace(100, 200, num=10)
y2= np.cos(x2)
x3= np.arange(0.0, 30.0 , 0.02)
y3= np.tan(x3)
x4 = np.arange(0.0, 30.0 , 0.02)
y4 = np.sin(x4)
**# Plot lines**
ax[0, 0].plot(x1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
**# Add xlabel**
ax[0, 0].set_xlabel('X-Axis')
ax[1, 0].set_xlabel('X-Axis')
ax[0, 1].set_xlabel('X-Axis')
ax[1, 1].set_xlabel('X-Axis')
**# Add ylabel**
ax[0, 0].set_ylabel('Y-Axis')
ax[1, 0].set_ylabel('Y-Axis')
ax[0, 1].set_ylabel('Y-Axis')
ax[1, 1].set_ylabel('Y-Axis')
**# Display**
plt.show()
- 在上面的例子中,轴标签或标题或刻度标签相互重叠,使绘图混乱。为了防止这种情况,需要调整轴的位置。
- 对于支线剧情,这可以通过使用
Figure.subplots_adjust
调整参数来手动完成,或者我们将通过指定constrained_layout=True
来自动完成调整。
代码:用于自动调整
**# Importing library**
import numpy as np
import matplotlib.pyplot as plt
**# Create figure and subplots**
fig, ax = plt.subplots(2,2, figsize=(8, 5), constrained_layout=True)
**# Define Data**
x1= np.random.randint(10,size=500)
x2= np.linspace(100, 200, num=10)
y2= np.cos(x2)
x3= np.arange(0.0, 30.0 , 0.02)
y3= np.tan(x3)
x4 = np.arange(0.0, 30.0 , 0.02)
y4 = np.sin(x4)
**# Plot lines**
ax[0, 0].plot(x1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
**# Add xlabel**
ax[0, 0].set_xlabel('X-Axis')
ax[1, 0].set_xlabel('X-Axis')
ax[0, 1].set_xlabel('X-Axis')
ax[1, 1].set_xlabel('X-Axis')
**# Add ylabel**
ax[0, 0].set_ylabel('Y-Axis')
ax[1, 0].set_ylabel('Y-Axis')
ax[0, 1].set_ylabel('Y-Axis')
ax[1, 1].set_ylabel('Y-Axis')
**# Display**
plt.show()
constrained_layout=True
读取Matplotlib subplots _ adjust
Matplotlib constrained _ layout vs tight _ layout
我们将讨论 constrained_layout 和 tight_layout。
| 约束 _ 布局 | 紧 _ 布局 |
| 它保留用户请求的逻辑布局。 | 它可能不会保留用户请求的逻辑布局。 |
| constrained_layout 使用约束解算器来确定轴的大小。 | tight_layout 不使用约束求解器来确定轴的大小。 |
| 在添加任何轴之前,需要激活 constrained_layout。 | 添加轴之前,不需要激活 tight_layout。 |
| 通过 RC params:
PLT . RC params[' figure . constrained _ layout . use ']= True 激活 | 通过 RC params:
PLT . RC params[' figure . autolayout ']= True 激活 |
| 通过方法激活:
PLT . subplots(constrained _ layout = True) | 通过方法激活:
plt.tight_layout() |
constrained_layout vs tight_layout
我们来看一个例子:
示例:tight_layout
**# Import Library**
from matplotlib.figure import Figure
**# Create figure**
fg = Figure()
**# Create subplot**
ax = fg.subplots(5, 1)
**# Plot**
for i in range(5):
ax[i].plot(range(25+25*i))
**# Add title**
fg.suptitle('lots of lines')
**# tight_layout**
fig.tight_layout()
**# Save image**
fg.savefig("tight_layout.png")
tight_layout
示例:constrained_layout
**# Import Library**
from matplotlib.figure import Figure
**# Create figure**
fg = Figure(constrained_layout=True)
**# Create subplot**
ax = fg.subplots(5, 1)
**# Plot**
for i in range(5):
ax[i].plot(range(25+25*i))
**# Add title**
fg.suptitle('lots of lines')
**# Save image**
fg.savefig("constrained_layout.png")
constrained_layout
从上面的例子中,我们看到 tight_layout
并没有更好的工作。为了让带有支线剧情和标签的图形更好地工作,使用 constrained_layout
。
您可能还喜欢:
因此,在这个 Python 教程中,我们已经讨论了 "Matplotlib tight_layout"
,并且我们还涵盖了一些与之相关的例子。这些是我们在本教程中讨论过的以下主题。
- Matplotlib tick_layout
- Matplotlib tight_layout 示例
- Matplotlib 紧密布局焊盘
- Matplotlib 紧密布局 hspace
- Matplotlib 紧密布局 wspace
- Matplotlib 紧密布局矩形
- Matplotlib tight_layout 保存图
- Matplotlib tight_layout 子情节
- Matplotlib tight_layout suptitle
- Matplotlib tight_layout 剪切标签
- Matplotlib 紧密布局图例
- Matplotlib 紧密布局 bbox
- Matplotlib tight_layout 未应用
- Matplotlib tight_layout rcparams
- Matplotlib imshow tight_layout
- Matplotlib tight_layout gridspec
- Matplotlib tight_layout 颜色条
- Matplotlib 表格紧密布局
- Matplotlib 散点图紧密布局
- Matplotlib 3d plot tight layout
- Matplotlib undo tight_layout
- Matplotlib 紧密布局替代方案
- Matplotlib constrained_layout 与 tight_layout
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Matplotlib 时间序列图
在本 Python Matplotlib 教程中,我们将讨论 Matplotlib 时序图。在这里,我们将使用 matplotlib 涵盖与时间序列图相关的不同示例。我们还将讨论以下主题:
- Matplotlib 时间序列
- Matplotlib 时间序列情节熊猫
- Matplotlib 时间序列散点图
- Matplotlib 多时间序列图
- Matplotlib 时间序列条形图
- Matplotlib 绘制时间序列 x 轴
- Python 时间序列图 seaborn
- Matplotlib 箱线图时间序列
- Python 时间序列交互式绘图
- Matplotlib 时间序列多条形图
- Matplotlib 绘制有间隙的时间序列
目录
- Matplotlib 时间序列
- Matplotlib 时间序列剧情熊猫
- Matplotlib 时间序列散点图
- Matplotlib 多个时间序列图
- Matplotlib 时间序列条形图
- Matplotlib 绘制时间序列 x 轴
- Python 时间序列图 seaborn
- Matplotlib 箱线图时间序列
- Python 时间序列交互图
- Matplotlib 时间序列多条线图
- Matplotlib 绘制带有间隙的时间序列
Matplotlib 时间序列
这里先来了解一下什么是时序 plot,讨论一下为什么在 matplotlib 中需要它。
什么是时间序列图:
时间序列数据是在一段时间内收集的数据点的集合,具有时间索引。这些观测是在整个时间内以均匀的间隔进行的。数据可视化在绘制时间序列图中起着重要的作用。
我们需要时间序列图的地方:
ECG 信号、EEG 信号、股票市场数据、天气数据等等都是时间索引的,并且在一段时间内被记录。分析这些数据和预测未来观测的研究领域要广泛得多。
另外,检查: Matplotlib 更新循环中的绘图
Matplotlib 时间序列剧情熊猫
在这里,我们学习绘制将在熊猫中创建的时间序列图。所以首先,我们必须在熊猫身上创建一个样本数据集。
下面是
在 Pandas 中创建 DataFrame 的语法:
pandas.DataFrame(data, index, columns, dtype, copy)
让我们看看创建数据帧的源代码:
**# Import Library**
import pandas as pd
**# Defne Data**
timeseries_data = {
'Date': ['2021-12-26', '2021-12-29',
'2021-12-27', '2021-12-30',
'2021-12-28', '2021-12-31' ],
'Washington': [42, 41, 41, 42, 42, 40],
'Canada' : [30, 30, 31, 30, 30, 30],
'California' : [51, 50, 50, 50, 50, 50]
}
**# Create dataframe**
dataframe = pd.DataFrame(timeseries_data,columns=['Date', 'Washington', 'Canada', 'California'])
**# Changing the datatype**
dataframe["Date"] = dataframe["Date"].astype("datetime64")
**# Setting the Date as index**
dataframe = dataframe.set_index("Date")
dataframe
输出:
Data Set
绘制数据的源代码:
**# Import Library**
import matplotlib.pyplot as plt
**# Plot**
plt.plot(dataframe["Canada"], marker='o')
**# Labelling**
plt.xlabel("Date")
plt.ylabel("Temp in Faherenheit")
plt.title("Pandas Time Series Plot")
**# Display**
plt.show()
- 首先导入
matplotlib.pyplot
库。 - 接下来,为加拿大列绘制图表。
- 为了在轴上添加标签,我们使用了
xlabel()
和ylabel()
函数。 - 为了添加标题,我们使用了
title()
函数。
输出:
Pandas Time Series Plot
另外,请阅读:Matplotlib fill _ between–完整指南
Matplotlib 时间序列散点图
现在我们学习使用 Matplotlib 中的散点图绘制时序图。
举例:
在这个例子中,我们把上面创建的 DataFrame 作为一个数据。
**# Import Library**
import matplotlib.pyplot as plt
**# Plot scatter**
plt.scatter(dataframe.index, dataframe["Washington"])
**# Labelling**
plt.xlabel("Date")
plt.ylabel("Temp in Faherenheit")
**# Auto space**
plt.tight_layout()
**# Display**
plt.show()
这里我们画了一个散点图,表示的日期和温度。
Scatter Plot
阅读:Matplotlib plot _ date–完整教程
Matplotlib 多个时间序列图
在这里,我们将学习使用 matplotlib 在一个图中绘制多个时间序列。
举例:
**# Import Libraries**
import matplotlib.pyplot as plt
import datetime
import numpy as np
import pandas as pd
**# Create figure**
fig = plt.figure(figsize=(12, 8))
**# Define Data**
df1 = pd.DataFrame({'date': np.array([datetime.datetime(2021,
12, i+1) for i in range(20)]),
'blogs_read': [4, 6, 5, 8, 15, 13, 18, 6, 5,
3, 15, 14, 19, 21, 15, 19, 25, 24, 16, 26]})
df2 = pd.DataFrame({'date': np.array([datetime.datetime(2021,
12, i+1)
for i in range(20)]),
'blogs_unread': [1, 1, 2, 3, 3, 3, 4, 3, 2,
3, 4, 7, 5, 3, 2, 4, 3, 6, 1, 2]})
**# Plot time series**
plt.plot(df1.date, df1.blogs_read, label='blogs_read',
linewidth=3)
plt.plot(df2.date, df2.blogs_unread, color='red',
label='blogs_unread', linewidth=3)
**# Add title and labels**
plt.title('Blogs by Date')
plt.xlabel('Date')
plt.ylabel('Blogs')
**# Add legend**
plt.legend()
**# Auto space**
plt.tight_layout()
**# Display plot**
plt.show()
- 首先导入必要的库,如
matplotlib.pyplot
、datetime
、numpy
和pandas
。 - 接下来,要增加图形的大小,使用
figsize()
函数。 - 为了定义数据坐标,我们创建 pandas
DataFrame
。 - 为了绘制时间序列,我们使用
plot()
函数。 - 要给绘图添加标题,使用
title()
函数。 - 为了在轴上添加标签,我们使用了
xlabel()
和ylabel()
函数。 - 要添加图例,使用
legend()
函数。 - 要显示绘图,使用
show()
功能。
Multiple Time Series
Matplotlib 时间序列条形图
这里我们将学习使用 Matplotlib 中的条形图绘制时间序列。
点击此处下载数据:
举例:
**# Import Library**
import pandas as pd
import matplotlib.pyplot as plt
**# Read csv**
data= pd.read_csv('Sales.csv')
**# Convert data frame**
df=pd.DataFrame(data)
**# Initilaize list**
X = list(df.iloc[:,0])
Y = list(df.iloc[:,1])
**# Set figure**
plt.figure(figsize=(15, 12))
**# Bar Plot**
plt.bar(X, Y)
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=15,rotation=90)
plt.tight_layout()
**# Display**
plt.show()
- 首先,我们导入必要的库,如
matplotlib.pyplot
和pandas
。 - 接下来,读取 CSV 文件。
- 之后,从 CSV 文件创建 DataFrame。
- 初始化 X 和 y 的列表。
- 为了绘制条形图,我们使用了
bar()
函数。 - 要更改 tick 设置,我们使用
tick_params()
函数。 - 为了设置空间,我们使用
tight_layout()
函数。
plt.bar()
读取: Matplotlib x 轴标签
Matplotlib 绘制时间序列 x 轴
这里我们将学习在 Matplotlib 中设置时间序列数据图的 x 轴。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
from datetime import datetime, timedelta
**# Define data**
dates = [
datetime(2021, 9, 21),
datetime(2021, 9, 22),
datetime(2021, 9, 23),
datetime(2021, 9, 24),
datetime(2021, 9, 25),
datetime(2021, 9, 26),
datetime(2021, 9, 27),
]
y = [0, 1.8, 2, 3.5, 4, 5.6, 6]
**# Plot**
plt.plot_date(dates, y)
**# Setting axes**
plt.tight_layout()
plt.tick_params(axis='x', rotation=90)
**# Display**
plt.show()
- 导入库
matplotlib.pyplot
和datetime
。 - 定义数据轴 x 和 y。
- 为了绘制日期,我们使用
plot_date()
函数。 - 为了设置分笔成交点的设置,我们使用了
tick_params()
函数。
plt.plot_date()
阅读: Matplotlib 多条形图
Python 时间序列图 seaborn
在这里,我们将学习如何用 seaborn 创建一个时间序列图。
Seaborn 是一个优秀的 Python 可视化工具,用于绘制统计图像。它包括吸引人的默认样式和调色板,使统计图表更有吸引力。它基于最新版本的 matplotlib 包,并与 pandas 的数据结构紧密集成。
点击
上的
下载数据集销售。CSV 文件:
我们来看一个例子:
**# Import Library**
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
**# Read csv**
data= pd.read_csv('Sales.csv')
**# Convert to dataframe**
df=pd.DataFrame(data)
**# Initilaize list**
X = list(df.iloc[:,0])
Y = list(df.iloc[:,1])
**# Set figure**
plt.figure(figsize=(12,10))
**# Seaborn**
sns.lineplot(x=X, y=Y)
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=15,rotation=90)
plt.tight_layout()
**# Display**
plt.show()
- 首先导入
matplotlib.pyplot
、熊猫和seaborn
库。 - 接下来,使用
read_csv()
函数读取 CSV 文件。 - 要将数据转换成数据帧,使用 pandas 的
DataFrame()
函数。 - 为了初始化列表,我们使用 pandas 的
iloc()
函数。 - 要设置图的尺寸,使用
figsize()
图的方法。 - 为了用 seaborn 库创建时间序列图,我们使用了
lineplot()
方法。 - 要更改 ticks 的设置,我们使用
tick_params()
函数。 - 要设置绘图的调整,使用
tight_layout()
功能。 - 要显示绘图,使用
show()
功能。
sns.lineplot()
Matplotlib 箱线图时间序列
在这里,我们将学习使用 Matplotlib 使用 seaborn boxplot 绘制时间序列图。
举例:
**# Import libraries**
import numpy as np
import pandas as pd
import seaborn
import matplotlib.pyplot as plt
**# Define Data**
data = pd.DataFrame(np.random.randn(100),
index=pd.date_range(start="2021-12-01",
periods=100, freq="H"))
data.groupby(lambda x: x.strftime("%Y-%m-
%d")).boxplot(subplots=False, figsize=(12,9))
**# Display**
plt.show()
- 导入
numpy
、熊猫、seaborn
和matplotlib.pyplot
库。 - 使用
DataFrame()
函数创建熊猫数据框。 - 要定义用于绘图的数据,使用
random.randn()
函数并将索引设置为日期。 - 要按日期绘制分组,请使用
groupby()
函数。 - 要创建箱线图,使用
boxplot()
函数。
boxplot()
Python 时间序列交互图
Plotly 是一个 Python 开源数据可视化模块,支持各种图形,如折线图、散点图、条形图、直方图和面积图。Plotly 是一个绘图工具,使用 javascript 创建交互式图形。
使用下面提到的命令进行 Plotly 安装:
pip install plotly
点击
上的
下载数据集销售。CSV 文件:
我们来看一个例子:
**# Import Library**
import pandas as pd
import plotly.express as px
import matplotlib.pyplot as plt
**# Read csv**
data= pd.read_csv('Sales.csv')
**# Convert data frame**
df=pd.DataFrame(data)
**# Initilaize list**
X = list(df.iloc[:,0])
Y = list(df.iloc[:,1])
**# Set figure**
plt.figure(figsize=(12,10))
**# Plotly graph**
plot = px.line(x=X, y=Y)
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=15,rotation=90)
plt.tight_layout()
**# Display**
plot.show()
- 导入熊猫、
plotly.express
、matplotlib.pyplot
等必要的库。 - 读取 CSV 文件,使用
read_csv()
函数。 - 使用
DataFrame()
函数将 CSV 文件转换为数据帧。 - 为了初始化列表,我们使用
iloc()
函数。 - 要绘制交互式时间序列折线图,使用
plotly.express
模块的line()
函数。
Interactive Time Series Plot
Matplotlib 时间序列多条线图
在本节中,我们将学习使用多个条形图绘制时间序列图。我们在这里绘制了显示特定时期出生人数的图表。
我们来看一个例子:
**# Import Libraries**
import pandas as pd
import matplotlib.pyplot as plt
**# Creating dataframe**
df = pd.DataFrame({
'Dates':['2021-06-10', '2021-06-11',
'2021-06-12', '2021-06-13',
'2021-06-14', '2021-06-15'],
'Female': [200, 350, 150, 600, 500, 350],
'Male': [450, 400, 800, 250, 500, 900]
})
**# Plotting graph**
df.plot(x="Dates", y=["Female", "Male"], kind="bar")
**# Show**
plt.show()
说明:
- 导入
matplotlib
库进行数据可视化。 - 接下来,导入
pandas
库来创建数据帧。 - 然后使用
DataFrame()
函数在 pandas 中创建数据帧。 - 为了创建一个多条形图,我们使用了
plot()
方法,并将它的种类定义为条形图。 - 为了可视化这个图,我们使用了
show()
函数。
df.plot(kind=’bar’)
Matplotlib 绘制带有间隙的时间序列
在本节中,我们将学习如何使用 matplotlib 绘制带有间隙的时间序列。首先,让我们来看一下 gap 是什么意思:
假设我们有一个 CSV 格式的数据集,其中有一些缺少值。然后,这些空白值或空白单元格被替换为 NaN
值。因此,当我们可视化这种数据集时,我们得到的是一个带有断点而不是连续线条的图表。
要下载数据集,请单击最高温度美国城市:
为了更清楚地理解概念,我们来看不同的例子:
- 首先,我们导入了必要的库,如
pandas
和matplotlib.pyplot
。 - 在这之后,使用熊猫的
read_csv()
函数读取 csv 文件。 - 要查看数据集,请将其打印出来。
源代码:
**# Import Libraries**
import pandas as pd
import matplotlib.pyplot as plt
**# Read** `CSV`
data= pd.read_csv('Max Temp USA Cities.csv')
**# Print**
data
data
- 接下来,我们使用
DataFrame()
函数将 CSV 文件转换为熊猫的数据帧。 - 如果你想查看数据框,打印出来。
源代码:
**# Convert data frame**
df=pd.DataFrame(data)
**# Print**
df
df
- 使用
iloc()
函数初始化列表,从 pandas 数据帧中按位置选择行和列。
源代码:
**# Initilaize list**
dates = list(df.iloc[:,0])
city_1 = list(df.iloc[:,1])
city_2 = list(df.iloc[:,2])
city_3 = list(df.iloc[:,3])
city_4 = list(df.iloc[:,4])
- 现在,使用
figsize()
函数设置图形大小。 - 要设置 x 轴的旋转和标签尺寸,使用
tick_params()
函数。 - 要在 x 轴上设置标签,使用
xlabel()
函数。 - 要在 y 轴上设置标签,使用
ylabel()
函数。
源代码:
**# Set Figure** `Size`
plt.figure(figsize=(8,6))
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=10,rotation=90)
**# Labels**
plt.xlabel("Dates")
plt.ylabel("Temp")
- 要绘制没有间隙的折线图,请使用
plot()
函数,并向其传递没有缺失值的数据坐标。 - 要设置标记,请将标记作为参数传递。
- 为了可视化图表,使用
show()
函数。
示例#1(无间隙)
**# Plot**
plt.plot(dates, city_4, marker='o')
**# Display**
plt.show()
Without Gaps
示例#2(有间隙)
**# Set figure**
plt.figure(figsize=(8,6))
**# Plot**
plt.plot(dates,city_1, marker='o')
**# Labels**
plt.xlabel("Dates")
plt.ylabel("Temp")
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=10,rotation=90)
**# Display**
plt.show()
With Gaps
示例#3(有间隙)
这里我们绘制了日期和洛杉矶市之间的图表。
**# Set figure**
plt.figure(figsize=(8,6))
**# Plot**
plt.plot(dates,city_2, marker='o')
**# Labels**
plt.xlabel("Dates")
plt.ylabel("Temp")
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=10,rotation=90)
**# Display**
plt.show()
plt.plot()
示例#4(有间隙)
这里我们绘制了日期和费城之间的图表。
**# Set figure**
plt.figure(figsize=(8,6))
**# Plot**
plt.plot(dates,city_3, marker='o')
**# Labels**
plt.xlabel("Dates")
plt.ylabel("Temp")
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=10,rotation=90)
**# Display**
plt.show()
plt.plot()
示例#5(在一个图中有或没有间隙)
**# Set figure**
plt.figure(figsize=(8,6))
**# Plot**
plt.plot(dates,city_1, marker='o')
plt.plot(dates,city_4, marker='o')
**# Labels**
plt.xlabel("Dates")
plt.ylabel("Temp")
**# Setting Ticks**
plt.tick_params(axis='x',labelsize=10,rotation=90)
**# Display**
plt.show()
With or Without Gaps
你可能也喜欢阅读下面的 Matplotlib 教程。
在本 Python 教程中,我们已经讨论了“ Matplotlib 时间序列图”,并且我们还介绍了一些与之相关的示例。这些是我们在本教程中讨论过的以下主题。
- Matplotlib 时间序列
- Matplotlib 时间序列情节熊猫
- Matplotlib 时间序列散点图
- Matplotlib 多时间序列图
- Matplotlib 时间序列条形图
- Matplotlib 绘制时间序列 x 轴
- Python 时间序列图 seaborn
- Matplotlib 箱线图时间序列
- Python 时间序列交互式绘图
- Matplotlib 时间序列多条形图
- Matplotlib 绘制有间隙的时间序列
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Matplotlib 标题字体大小
在本 Python 教程中,我们将讨论 Python 中的 Matplotlib title font size
。在这里,我们将介绍使用 matplotlib 与标题字体大小相关的不同例子。我们还将讨论以下主题:
- Matplotlib 标题字体大小
- Matplotlib 设置标题字体大小
- Matplotlib 标题字体大小粗体
- Matplotlib 图例标题字体大小
- Matplotlib 子图标题字体大小
- Matplotlib rcParams 标题字体大小
- Matplotlib 饼图标题字体大小
- Matplotlib 条形图标题字体大小
- matplot lib colorbar title font size
- Matplotlib 图形标题字体大小
- Matplotlib set_title text font size
- Matplotlib 标题不同字体大小
目录
- Matplotlib 标题字体大小
- Matplotlib 设置标题字体大小
- Matplotlib 标题字体大小加粗
- Matplotlib 图例标题字体大小
- Matplotlib 子图标题字体大小
- Matplotlib rcParams 标题字体大小
- Matplotlib 饼图标题字体大小
- Matplotlib 条形图标题字体大小
- matplot lib color bar title font size
- Matplotlib 图标题字体大小
- Matplotlib set_title text font size
- Matplotlib 标题不同字体大小
Matplotlib 标题字体大小
这里我们要学习的是如何在 Python 中改变 matplotlib 中标题的字体大小。在开始这个话题之前,我们首先要了解一下【标题】是什么意思。
标题:用于描述 matplotlib 中的情节的名称。
以下步骤用于将标题添加到情节中,概述如下:
- 定义库:导入所需的重要库(用于数据创建和操作:Numpy 和 Pandas,用于数据可视化:来自 matplotlib 的 pyplot)。
- 定义 X 轴和 Y 轴:定义用于 X 轴和 Y 轴的数据坐标值。
- 绘制图表或图形:通过使用条()、饼()、散点()、
plot()
等方法,我们可以绘制出一个曲线图。 - 添加标题:通过使用
title()
方法我们可以给图表添加标题。 - 生成一个图:通过使用
show()
方法我们可以可视化一个图。
Matplotlib 设置标题字体大小
在 Matplotlib 中,要设置一个绘图的标题,你必须使用 title()
方法并传递 fontsize
参数来改变它的字体大小。
分配标题给
图并改变其字体大小的语法如下:
**# To add title**
matplotlib.pyplot.title()
**# To change size**
matplotlib.pyplot.title(label, fontsize=None)
上述使用的参数描述如下:
- 标签:指定标题。
- fontsize: 设置您选择的字体大小。
让我们看一个设置标题字体大小的例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = [ 1, 2, 3, 4, 5]
y = [3, 6, 9, 12, 15]
**# Plot**
plt.plot(x,y,color='r')
**# Define Title and change size**
plt.title("Straight Line Function Chart", fontsize=10)
**# Show**
plt.show()
- 在上面的例子中,我们导入
matplotlib.pyplot
库来绘制图表。之后,我们定义用于数据绘图的数据点。 - 然后使用
plt.plot()
方法绘制折线图。 - 之后,我们使用
plt.title()
方法在情节上添加标题,我们还传递了fontsize
参数,将其值设置为10
。
plt.title() “We set font size to 10”
Matplotlib 标题字体大小加粗
这里我们学习如何在 Matplotlib 中将标题字体大小设置为粗体。
将字体大小
设置为粗体的语法:
matplotlib.pyplot.title(label, fontsize=None, fontweight=None)
上面使用的参数如下:
- 标签:指定绘图的标题。
- fontsize: 设置绘图的字体大小。
- fontweight: 设置字体为粗体。
让我们来看一个
的例子,将
的标题设为加粗:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 15, 0.2)
y = np.sin(x)
**# Plot figure**
plt.plot(x, y)
**# Title**
plt.title("Sine Function", fontsize= 15, fontweight='bold')
**# Generate Plot**
plt.show()
在上面的例子中,我们使用 plt.title()
方法向绘图添加一个标题,我们将 fontsize
和 fontweight
参数传递给该方法,分别将其值设置为 15
和 bold
。
” Set title font to bold “
Matplotlib 图例标题字体大小
这里我们学习在 Matplotlib 中设置绘图的图例标题的字体大小。我们使用 legend()
方法来添加图例标题。
我们还传递了 title_fontsize
参数,并将其值设置为 30
。
添加图例标题和改变其字体大小的语法:
**# Import libraries**
import matplotlib.pyplot as plt
import pandas as pd
**# Define Data**
df = pd.DataFrame({
'Maths': [12, 15, 10, 3, 1, 5],
'Science': [15, 10, 5, 4, 3, 6],
'Computers':[20, 12, 5, 3, 5, 2]
})
labels = ['A','B','C','D','E','Fail']
**# Plot stacked bar chart** ax = df.plot(stacked=True, kind='bar')
**# Set Tick labels** ax.set_xticklabels(labels,rotation='horizontal')
ax.legend(title='SUBJECT',title_fontsize=30)
**# Display chart**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和pandas
库。 - 之后,我们使用 pandas
DataFrame()
方法来定义标签和数据坐标,并使用plot()
方法来绘制堆叠条形图。 - 通过使用
set_xticklabels()
方法,我们设置 x 标签,并将其旋转设置为水平。 - 然后我们使用
ax.legend()
方法设置图例的标题,并传递title_fontsize
参数,将其值设置为 30。
” Change legend title font size”
Matplotlib 子图标题字体大小
这里我们将讨论如果我们使用 matplotlib 库在一个图形区域中绘制多个图,我们如何改变特定子图的标题字体大小。
我们使用 set_size()
方法来改变特定子情节的标题字体大小。
让我们借助一个例子来理解这个概念:
**# Importing Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x1= [0.2, 0.4, 0.6, 0.8, 1]
y1= [0.3, 0.6, 0.8, 0.9, 1.5]
x2= [2, 6, 7, 9, 10]
y2= [3, 4, 6, 9, 12]
x3= [5, 8, 12]
y3= [3, 6, 9]
x4= [7, 8, 15]
y4= [6, 12, 18]
fig, ax = plt.subplots(2, 2)
**# Set Title**
ax[0, 0].set_title("Plot 1")
ax[0, 1].set_title("Plot 2")
ax[1, 0].set_title("Plot 3")
ax[1, 1].set_title("Plot 4")
**# Change font size**
ax[0,1].title.set_size(20)
**# Plot graph**
ax[0, 0].plot(x1, y1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
**# Display Graph**
fig.tight_layout()
plt.show()
- 在上面的例子中,我们在图形区域绘制了多个图。而且我们想改变具体剧情的标题字体大小。
- 这里我们使用
set_title()
方法在每个地块上添加标题。 - 我们对第二个子情节使用
set_size()
方法,并将其标题大小设置为 20。
” Title size of subplot 2 changed “
读取Matplotlib subplots _ adjust
Matplotlib rcParams 标题字体大小
在 matplotlib 中,可以通过更改 rcParams 字典的值来调整标题的大小。
我们可以改变保存在全局字典中的【RC】的默认设置来改变它的字体大小。
改变 rcParams 标题字体大小的语法:
parameter = {'axes.titlesize': }
plt.rcParams.update(parameter)
这里我们定义一个参数字典来改变标题的字体大小。
我们来看一个例子:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x=np.linspace(0,10,15)
y= np.cos(2 * np.pi * x)
**# Set title size**
par = {'axes.titlesize':30}
plt.rcParams.update(par)
**# Plot**
plt.plot(x, y)
**# Define title and labels** plt.title('Plot of cos x')
plt.xlabel('x')
plt.ylabel('cos x')
**# Show**
plt.show()
- 首先我们导入
matplotlib.pyplot
库和numpy
库。 - 在这之后,我们定义用于绘图的数据,然后我们使用
axes.titlesize
并将它的值设置为30
,我们将它传递给plt.rcParams.update()
方法。 - 通过使用
plt.plot()
方法绘制 cos x 图,我们还使用plt.title()
、plt.xlabel()
、plt.ylabel()
方法分别设置标题和轴标签。 - 最后,我们使用
show()
方法对图形进行可视化。
” Change rcParams title font size “
检查, Matplotlib 最佳拟合线
Matplotlib 饼图标题字体大小
在本节中,我们将学习如何向饼图添加标题,还将学习在 Matplotlib 中更改其大小和颜色。
举例:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
subjects = ['MATHS', 'SCIENCE', 'ENGLISH', 'HINDI', 'SOCIAL-SCIENCE']
data = [20, 7, 31, 25, 12]
**# Creating plot**
plt.pie(data, labels = subjects)
**# Set title**
plt.title("Popularity of subjects among students", fontsize=15, color='r', fontweight='bold')
**# Show plot**
plt.show()
- 这里我们使用
plt.title()
方法来定义饼图的标题,并传递标签、字体大小、颜色和字体重量作为参数。 - 我们将字体大小的值设置为 15,颜色设置为红色,粗细设置为粗体。
plt.title()
Matplotlib 条形图标题字体大小
通过使用 Matplotlib 库,这里我们首先通过使用 plt.bar(),绘制条形图,然后通过使用 plt.title()
为该图添加一个标题。
我们将字体的大小设为 50,字体的颜色设为黑色。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
students = [5, 6, 2, 3]
activities= ["Joging", "Gyming", "Swimming", "Shopping"]
**# Plot bar chart**
plt.bar( activities, students, color= 'yellow')
**# Add Title**
plt.title("BAR CHART", fontsize=50, color='k')
**# Display chart**
plt.show()
“Bar chart”
matplot lib color bar title font size
这里我们学习在颜色栏上设置标题,我们也学习改变它的字体大小,颜色等等。通过使用 Matplotlib 库功能。
绘图颜色条的语法和设置其标题文本如下:
**# Plot colorbar**
matplotlib.pyplot.colorbar()
**# Add text title**
matplotlib.pyplot.colorbar().set_label()
让我们看一个改变颜色栏标题字体大小的例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
subject = ['Maths', 'Science', 'Social-Science', 'Hindi', 'English']
likes = [25, 15, 20, 16, 12]
ratio = [0.5, 1.2, 2.3, 4.3, 0.2]
**# Plot**
plt.scatter(x=subject, y=likes, c=ratio, cmap="summer")
**# Color Bar**
plt.colorbar().set_label(label='Ratio',size=25,weight='bold',color='blue')
**# Show**
plt.show()
- 在上面的例子中,我们首先导入
matplotlib.pyplot
和numpy
库。 - 之后,我们定义数据,并通过使用
plt.scatter()
方法绘制散点图。 - 然后通过使用
plt.colorbar()
方法我们绘制颜色条,并通过使用set_label()
我们设置颜色条的标题。 - 我们还将尺寸、重量和颜色作为参数传递,并将其值分别设置为
25
、粗体和蓝色。
plt.colorbar()
另外,检查一下,什么是 matplotlib 内联
Matplotlib 图标题字体大小
轴标题和图形标题是不同的。所以。在这一节中,我们将学习图形标题。
我们也称一个人物标题为 suptitle 或者你也可以称之为 super title。
添加图名的语法:
matplotlib.figure.Figure.suptitle(self, t, **kwargs)
参数如下:
- t: 指定标题文本。
- x: 指定标题的 x 位置。
- y: 指定标题的 y 位置。
- fontsize: 指定文本的字体大小,也可以写成 size。
- fontweight: 指定文本的字体粗细,或者你也可以写为粗细。
suptitle()
方法用于给图添加居中的标题。
让我们看一个例子来更清楚地理解这个概念:
**# Import Library**
import matplotlib.pyplot as plt
**# Create a new figure** fig = plt.figure()
**# Add Title to figure**
fig.suptitle('Grade Sheet', x= 0.5, y =1.05, fontsize=30, weight='bold')
**# Define Data**
grades = ["A","B","C","D","E","Fail"]
students = [15, 12, 3, 5, 1, 2]
**# Plot bar chart**
plt.bar(grades,students)
**# Define axes title**
plt.title("Class10",fontsize=15)
**# Define axes labels**
plt.ylabel("No. of students")
plt.xlabel("Grades of students")
**# Display a bar chart**
plt.show()
- 这里我们使用
plt.figure()
方法创建一个新的图形。 - 在这之后,我们使用
plt.suptitle()
方法给图添加一个标题,并传递要写的标题以及其他参数,如x
、y
。我们使用 x 和 y 来设置超级标题的位置。 - 我们还将图中的字体大小和重量分别设置为
30
和加粗。 - 然后我们定义要绘制的数据,使用
plt.bar()
方法绘制条形图。 - 通过使用
plt.title()
方法,我们添加了轴标题,并将其fontsize
设置为15
。 - 通过使用
plt.xlabel()
和plt.ylabel()
方法我们定义了轴标签。最后,我们使用plt.show()
方法生成一个图。
fig.suptitle()
Matplotlib set_title text font size
通过使用 set_title()
方法,您可以在 matplotlib 中为您的绘图添加一个标题。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Create new figure and subplot**
fig = plt.figure()
ax = fig.add_subplot(111)
**# Add title**
ax.set_title('Title',fontsize= 30)
**# Axes label**
ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')
**# Define Data**
x = [0, 1, 2, 3, 4, 5]
y = [1.5, 3, 5.3, 6, 10, 2]
**# Plot**
ax.plot(x,y,'-o')
**# Show**
plt.show()
set_title()
Matplotlib 标题不同字体大小
在 matplotlib 中,我们可以为图表中的每个标签设置不同的字体大小。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Create new figure and subplot**
fig = plt.figure()
ax = fig.add_subplot(111)
**# Add Figure Title**
fig.suptitle('Figure Title', x= 0.5, y =1.06, fontsize=35)
**# Add Axes title**
ax.set_title('Axes Title',fontsize= 20)
**# Add Axes label**
ax.set_xlabel('x-axis', fontsize= 15)
ax.set_ylabel('y-axis', fontsize= 10)
**# Define Data**
x = [0, 1, 2, 3, 4, 5]
y = [1.5, 3, 6.3, 6, 10, 2]
**# Plot**
ax.plot(x,y,'-o')
**# Show**
plt.show()
在上面的例子中,我们使用下面的方法来添加标题并设置它们的字体大小,如下所示:
- fig.suptitle: 给图添加标题。我们将字体大小设置为 35。
- ax.set_title: 给轴添加标题。我们将字体大小设置为 20。
- ax.set_xlabel: 添加一个 x 轴文本标签。我们将字体大小设置为 15。
- ax.set_ylabel: 添加 y 轴文本标签。我们将字体大小设置为 10。
“Different Title Font Size”
您可能会喜欢以下 Python Matplotlib 教程:
- Matplotlib 默认图形尺寸
- Matplotlib savefig 空白图像
- Matplotlib 另存为 png
- Matplotlib 两个 y 轴
- Matplotlib tight_layout
在本 Python 教程中,我们已经讨论了" Matplotlib title font size "
,并且我们还讨论了一些与之相关的例子。这些是我们在本教程中讨论过的以下主题。
- Matplotlib 标题字体大小
- Matplotlib 设置标题字体大小
- Matplotlib 标题字体大小粗体
- Matplotlib 图例标题字体大小
- Matplotlib 子图标题字体大小
- Matplotlib rcParams 标题字体大小
- Matplotlib 饼图标题字体大小
- Matplotlib 条形图标题字体大小
- matplot lib colorbar title font size
- Matplotlib 图形标题字体大小
- Matplotlib set_title text font size
- Matplotlib 标题不同字体大小
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Matplotlib 两个 y 轴
在本 Python 教程中,我们将讨论 Python 中的 Matplotlib 两个 y 轴。在这里,我们将使用 matplotlib 涵盖与两个 y 轴相关的不同示例。我们还将讨论以下主题:
- Matplotlib 两个 y 轴
- Matplotlib 两个 y 轴相同数据
- Matplotlib 双 y 轴图例
- Matplotlib 两个 y 轴不同比例
- 两个 y 轴比例相同
- Matplotlib 双 y 轴条形图
- Matplotlib 两个 y 轴网格
目录
- Matplotlib 两个 y 轴
- Matplotlib 两个 y 轴相同的数据
- Matplotlib 两个 y 轴图例
- Matplotlib 两个 y 轴不同比例
- Matplotlib 两个 y 轴同比例
- Matplotlib 两个 y 轴条形图
- Matplotlib 两个 y 轴网格
Matplotlib 两个 y 轴
在本节中,我们将学习如何在 Python 的 matplotlib 中绘制一个带有两个 y 轴的图形。当我们需要快速分析时,我们会用两个不同比例的数据变量创建一个图表。
在 matplotlib 中, twinx()
函数用于创建双轴。
twinx()方法的语法如下:
matplotlib.axes.Axes.twinx(self)
让我们看一个创建两个 y 轴的例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(0, 15, 0.2)
data_1 = np.sin(x)
data_2 = np.cos(x)
**# Create Plot**
fig, ax1 = plt.subplots()
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis', color = 'red')
ax1.plot(x, data_1, color = 'red')
ax1.tick_params(axis ='y', labelcolor = 'red')
**# Adding Twin Axes** ax2 = ax1.twinx()
ax2.set_ylabel('Y2-axis', color = 'blue')
ax2.plot(x, data_2, color = 'blue')
ax2.tick_params(axis ='y', labelcolor = 'blue')
**# Show plot**
plt.show()
- 在上面的例子中,我们首先导入
numpy
和matplotlib.pyplot
库。 - 接下来,我们使用
arrange()
、sin()
和cos()
方法定义数据。 - 然后我们使用
plot()
方法绘制出 x 轴和 y1 轴之间的数据。 - 之后,我们使用
plot()
方法绘制 x 轴和 y2 轴之间的数据。 twinx()
方法用于创建两个 y 轴。
twinx()
Matplotlib 两个 y 轴相同的数据
在这里,我们将学习如何在 Python Matplotlib 中创建两个具有相同数据绘图的 y 轴。
通过使用 twinx()
方法,我们创建了两个孪生 y 轴。
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(100)
y = np.sin(x)
**# Plot Graph**
fig, ax1 = plt.subplots()
ax1.plot(x, y)
**# Define Labels**
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis')
**# Twin Axes**
ax2 = ax1.twinx()
ax2.set_ylabel('Y2-axis')
**# Display** plt.show()
在上面的例子中,通过使用 twinx()
方法,我们创建了两个 y 轴,并通过使用 plot()
方法绘制了相同的数据。
” Two y-axes with same data “
Matplotlib 两个 y 轴图例
在 matplotlib 中,通过使用 plt.legend()
方法,我们可以向绘图添加图例。
语法如下:
matplotlib.pyplot.legend()
让我们看一个例子来更好地理解这个概念:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(0, 15, 0.2)
data_1 = np.sin(x)
data_2 = np.cos(x)
**# Create Plot**
fig, ax1 = plt.subplots()
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis', color = 'red')
plot_1 = ax1.plot(x, data_1, color = 'red', label='Sin x')
ax1.tick_params(axis ='y', labelcolor = 'red')
**# Adding Twin Axes**
ax2 = ax1.twinx()
ax2.set_ylabel('Y2-axis', color = 'blue')
plot_2 = ax2.plot(x, data_2, color = 'blue', label = 'Cos x')
ax2.tick_params(axis ='y', labelcolor = 'blue')
**# Add legends**
lns = plot_1 + plot_2
labels = [l.get_label() for l in lns]
plt.legend(lns, labels, loc=0)
**# Show plot**
plt.show()
- 在上面的例子中,我们首先导入
numpy
和matplotlib.pyplot
库。 - 接下来我们定义,数据使用
arrange()
、sin()
和cos()
的方法。 - 然后我们使用
plot()
方法绘制数据,并通过标签作为参数来定义图例。 - 在此之后,我们使用
twinx()
方法创建两个 y 轴。 plt.legend()
方法用于给绘图添加图例。
plt.legend()
Matplotlib 两个 y 轴不同比例
这里我们要学习如何在 Matplotlib 中绘制两个不同比例尺的 y 轴。它仅仅意味着两个图在相同的轴上,具有不同的 y 轴或左右刻度。
通过使用 Axes.twinx()
方法,我们可以生成两种不同的比例。
让我们看一个左右刻度不同的两个 y 轴的例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(0, 15, 0.2)
data_1 = np.tan(x)
data_2 = np.exp(x)
**# Create Plot**
fig, ax1 = plt.subplots()
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis', color = 'black')
plot_1 = ax1.plot(x, data_1, color = 'black')
ax1.tick_params(axis ='y', labelcolor = 'black')
**# Adding Twin Axes**
ax2 = ax1.twinx()
ax2.set_ylabel('Y2-axis', color = 'green')
plot_2 = ax2.plot(x, data_2, color = 'green')
ax2.tick_params(axis ='y', labelcolor = 'green')
**# Show plot**
plt.show()
- 在上面的例子中,我们将
matplotlib.pypot
和numpy
作为库导入。 - 之后我们使用 numpy 的
arrange()
、tan()
和exp()
方法定义数据。 - 然后通过使用
ax1.plot()
方法,我们绘制出了tan
函数的图形。 - 要添加双轴,我们使用
twinx()
方法。 - 接下来,我们使用
ax2.plot()
方法绘制一个指数函数的图形。
” Two y-axes with different scales “
在这里,您观察到 Y1 轴的范围是(-200–0),而 Y2 轴的范围是(0–2.5)。因此,两个轴具有不同的刻度。
Matplotlib 两个 y 轴同比例
当我们在上面学习创建两个 y 轴时,我们使用了 twinx()
方法,但是它创建了具有不同刻度的轴。
现在,如果我们想创建两个相同比例的 y 轴,我们需要做什么?为此,我们必须设置 y 轴的视图限制。
设置 y 轴视图限制的语法:
matplotli.axes.Axes.set_ylim(bottom=None, top=None, emit= True, auto=False, ymin=None, ymax=None)
上面使用的参数概述如下:
- bottom: 在数据坐标中指定 bottom ylim。
- top: 指定数据坐标中的 top ylim。
- emit: 用于通知观察者极限变化。
- 自动:用于开启自动呼叫。
- ymin,ymax: 同时传递 ymin 和 bottom 或者 ymax 和 top 都是错误的。
让我们看一个例子,在 y 轴上我们有相同的刻度:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(0, 15, 0.2)
data_1 = np.tan(x)
data_2 = np.exp(x)
**# Create Plot**
fig, ax1 = plt.subplots()
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis', color = 'black')
plot_1 = ax1.plot(x, data_1, color = 'black')
ax1.tick_params(axis ='y', labelcolor = 'black')
**# Adding Twin Axes**
ax2 = ax1.twinx()
ax2.set_ylabel('Y2-axis', color = 'green')
plot_2 = ax2.plot(x, data_2, color = 'green')
ax2.tick_params(axis ='y', labelcolor = 'green')
**# Set same axes sacles**
a,b = -200, 200
ax1.set_ylim(a,b)
ax2.set_ylim(a,b)
**# Show plot**
plt.show()
- 在上面的例子中,我们将
matplotlib.pypot
和numpy
作为库导入。 - 之后我们使用 numpy 的
arange()
、tan()
和exp()
方法定义数据。 - 通过使用
ax1.plot()
和ax.2plot()
方法我们绘制了一个图形。 - 要添加双轴,我们使用
twinx()
方法。 - 现在,使用
set_ylim()
方法使 y 轴的两个 sclaes 相同。 - 在这里,我们将两个 y 轴的视图限制设置为从 -200 到 200 。
” Tow y-axes with the same scale “
Matplotlib 两个 y 轴条形图
这里我们将在 Python matplotlib 中创建一个具有两个 y 轴的条形图。首先,你必须知道如何创建一个条形图。
创建条形图的语法如下:
matplotlib.pyplot.bar(x, height)
我们来看一个例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(15, 50, 1.5)
y1 = x**4
y2 = x**5
**# using subplots() function**
fig, ax = plt.subplots(figsize = (10, 5))
**# using the twinx() for creating
# another axes**
ax2 = ax.twinx()
**# creating a bar plot**
ax.bar(x, y1, color = 'yellow')
ax2.bar(x, y2, color = 'cyan')
**# Label axes**
ax.set_xlabel('X-axis')
ax.set_ylabel('Y1-axis')
ax2.set_ylabel('Y2-axis')
**# defining layout**
plt.tight_layout()
**# show plot**
plt.show()
- 在上面的例子中,我们首先导入
matplotlib.pyplot
和numpy
库进行数据可视化。 - 之后,我们使用
arange()
方法定义数据。 - 通过使用
subplots()
函数,我们创建了一个 subplot。 - 然后我们通过使用两个不同的轴对象来创建两个不同的 y 轴,借助于
twinx()
方法来创建双 y 轴。 - 然后我们使用
ax.bar()
方法和ax2.bar()
方法创建条形图。这里,ax 是简单 Y 轴的对象,ax2 是辅助 Y 轴的对象。 - 通过使用
set_ylabels()
和set_xlabels()
方法来设置绘图的标签。 - 最后,我们分别使用PLT . tight _ 尤拉()方法和
plt.show()
方法来定义布局和显示情节。
plt.bar()
Matplotlib 两个 y 轴网格
在这里,我们将学习如何从 matplotlib 中的两个 y 轴中的任意一个轴创建一个网格。
为此,我们必须将 grid()
方法用于我们想要创建网格线的绘图的 axes 对象。
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(100)
y = np.sin(x)
**# Plot Graph**
fig, ax1 = plt.subplots(figsize=(10,5.5))
ax1.plot(x, y)
**# Define Labels**
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis')
**# Twin Axes**
ax2 = ax1.twinx()
ax2.set_ylabel('Y2-axis')
**# Grid method**
ax1.grid()
**# Display**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
库。 - 然后我们使用
arange()
和sin()
方法定义数据。 - 通过使用
plot()
方法,我们绘制了一个图形。 - 接下来,我们使用
twinx()
方法创建另一个 y 轴。 - 现在,通过对轴的
ax1
对象使用grid()
方法,我们创建一条带有 Y1 轴刻度的网格线。
” Grid lines along Y1-axis scales “
您可能还会喜欢以下 Python Matplotlib 教程:
- Matplotlib 最佳拟合线
- Matplotlib Plot NumPy 数组
- 水平线 matplotlib
- 画垂直线 matplotlib
- Matplotlib 反转 y 轴
- Matplotlib x 轴标签
- Matplotlib 3D scatter
- 将图例放在绘图 matplotlib 之外
在本 Python 教程中,我们已经讨论了 "Matplotlib two y axes"
,并且我们还介绍了一些与之相关的例子。这些是我们在本教程中讨论过的以下主题。
- Matplotlib 两个 y 轴
- Matplotlib 两个 y 轴相同数据
- Matplotlib 双 y 轴图例
- Matplotlib 两个 y 轴不同比例
- 两个 y 轴比例相同
- Matplotlib 双 y 轴条形图
- Matplotlib 两个 y 轴网格
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Matplotlib 未知投影' 3d '
原文:https://pythonguides.com/matplotlib-unknown-projection-3d/
在本 Python 教程中,我们将讨论值错误“Python 中 matplotlib 未知投影‘3d’”。在这里,我们将使用 matplotlib 来涵盖与此错误相关的原因和解决方案。我们还将讨论以下主题:
- 最旧的版本问题
- 安装问题
- 句法误差
Matplotlib unknown projection ‘3d’
目录
Matplotlib 未知投影‘3d’
在本节中,我们将讨论错误“ Matplotlib 未知投影‘3d’”的各种原因及其解决方案
错误#1:最早的版本
首先了解一下 mplot3D
在不同版本的 matplotlib 中的工作方式是不同的。这里我们讨论的是 matplotlib 0.99 版本中的值错误:matplotlib 未知投影‘3d’。
所以首先你必须确认你用的是哪个版本?
检查版本的语法:
**# Import library**
import matplotlib
**# Check Version**
print matplotlib."__version__"
如果你使用的是 matplotlib 0.99 ,在这种情况下你需要使用稍微不同的语法或者升级到一个更新的版本。
让我们来看看这个问题的解决方案:
解决方案#1
解决此属性错误的第一个也是最简单的方法是将 matplotlib 升级到最新版本。
Jupyter 笔记本:
以下命令用于将 Jupyter Notebook 中的 matplotlib 升级到最新版本。
pip install --upgrade matplotlib
蟒蛇分布:
如果您的系统中有 Anaconda 提示符,您可以从这里使用下面提到的命令轻松地将 matplotlib 更新到最新版本。
conda update matplotlib
#OR
conda update -all
这里,第一个命令只更新 matplotlib 包,第二个命令更新所有包。
解决方案#2
解决此错误的第二种方法是使用稍微不同的语法,而不是使用 projection 关键字参数。
使用以下语法:
**# Import Library**
from mpl_toolkits.mplot3d import axes3d, Axes3D
**# Set Projection**
Axes3D()
错误#2 安装问题
第一,原因可能是没有安装 matplotlib。
Jupyter 笔记本:
- 要安装 matplotlib,请使用 pip 命令。
pip install matplotlib
蟒蛇分布:
- 要安装 matplotlib,请使用 conda 命令。
conda install matplotlib
第二,原因可能是 matplotlib 没有正确安装。所以,首先,卸载 matplotlib 包,然后重新安装。上面我们讨论了 matplotlib 的安装。这里我们讨论一下 matplotlib 的卸载。
Jupyter 笔记本:
- 要卸载 matplotlib,请使用 pip 命令。
pip uninstall matplotlib
蟒蛇分布:
- 要卸载 matplotlib,请使用 conda 命令。
conda uninstall matplotlib
错误#3 语法错误
如果您使用的不是 matplotlib 的最早版本,并且 matplotlib 包安装正确,但仍然出现错误,那么您可能有语法错误。
下面是正确的语法:
**# Import Library**
from mpl_toolkits import mplot3d
**# Projection**
ax = plt.axes(projection="3d")
你可能也喜欢阅读下面的 Matplotlib 教程。
- 如何安装 matplotlib python
- Matplotlib 旋转刻度标签
- 什么是 add_axes matplotlib
- Matplotlib 改变背景颜色
- Matplotlib 绘制一条线(详细指南)
- Matplotlib plot _ date–完整教程
- Matplotlib 1.3.1 需要未安装的 nose】
在本 Python 教程中,我们已经讨论了“matplotlib 未知投影‘3d’”,我们还讨论了与之相关的原因和解决方案。这些是我们在本教程中讨论过的以下主题。
- 最旧版本
- 安装问题
- 句法误差
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Matplotlib 在循环中更新绘图
在本 Python Matplotlib 教程中,我们将讨论循环中的 Matplotlib 更新图。在这里,我们将介绍与使用 matplotlib 在循环中更新绘图相关的不同示例。我们还将讨论以下主题:
- Matplotlib 在循环中更新绘图
- Matplotlib update plot in jupyter
- Matplotlib 在循环中更新散点图
- Matplotlib 在 while 循环中更新绘图
- Matplotlib 更新 for 循环中的绘图
目录
- Matplotlib 更新循环中的绘图
- Matplotlib update plot in Jupyter
- Matplotlib 更新循环中的散点图
- Matplotlib 在 while 循环中更新绘图
- Matplotlib 更新循环中的绘图
Matplotlib 更新循环中的绘图
为了在循环中每次迭代时更新绘图,我们可以使用 matplotlib。我们通过循环迭代不断更新要绘制的变量,然后在 Matplotlib 中绘制变化的值,以实时绘制数据或制作动画。
我们使用各种方法通过动画实时显示更新的图,例如:
- canvas.draw()带有 canvas_flush_events()函数
- FuncAnimation()函数
canvas.draw 用 canvas_flush_events()函数
通过更新变量,我们可以在循环中更新情节,然后使用 canvas.draw()
函数通过动画显示更新。
举例:
**# Interactive Mode**
%matplotlib notebook
**# Import Library**
import numpy as np
import time
import matplotlib.pyplot as plt
**# Create subplots**
figure, ax = plt.subplots(figsize=(4,5))
**# Data Coordinates**
x = np.linspace(0, 20, 80)
y = np.sin(x)
**# GUI**
plt.ion()
**# Plot**
plot1, = ax.plot(x, y)
**# Labels**
plt.xlabel("X-Axis",fontsize=18)
plt.ylabel("Y-Axis",fontsize=18)
for value in range(150):
update_y_value = np.sin(x-2.5*value)
plot1.set_xdata(x)
plot1.set_ydata(update_y_value)
figure.canvas.draw()
figure.canvas.flush_events()
time.sleep(0.1)
**# Display**
plt.show()
说明:
- 首先,打开互动模式。
- 接下来导入
numpy
、time
、matplotlib.pyplot
等库。 - 使用支线剧情()函数创建支线剧情。
- 接下来定义数据坐标,使用
linespace()
和sin()
函数。 - 为了用 x 和 y 值更新绘图,我们使用
ion()
函数。 - 为了绘制直线,我们使用
plot()
函数。 - 为了定义标签,我们使用了
xlabel()
和ylabel()
函数。 - 然后我们用
set_xdate()
和set_ydata()
函数更新变量 x 和 y。 - 为了显示更新,我们使用
canvas.draw()
函数。 - 为了获得新的图形,我们使用
canvas.flush_event()
输出:
Matplotlib update plot in loop example-1
FuncAnimation()函数
在这里,我们将学习通过更新变量来更新绘图,并使用动画功能来显示它们。
以下是语法:
matplotlib.animation.FuncAnimation(fig, func, frames=None,
init_func=None,
fargs=None,
save_count=None, * ,
cache_frame_data=True,
**kwargs)
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
**# Create figure and subplot**
figure, ax = plt.subplots(figsize=(4,3))
x = []
y = []
**# Plot**
plot_1, = ax.plot(x, y)
plt.axis([0, 30, -2, 2])
**# Animation Function**
def animate_plot (i):
x = np.linspace(0, 30, 100)
y = np.tan(6 * (x - 0.3 * i))
plot_1.set_data(x, y)
return plot_1,
**# Animated Function**
ani = FuncAnimation(figure,
animate_plot,
frames=3,
interval=100)
**# Save as gif**
ani.save('animation.gif', fps=10)
**# Display**
plt.show()
说明:
- 导入
numpy
、matplotlib.pyplot
、动画等库。 - 接下来,我们使用
figure()
函数来将绘图更新。 - 为了绘制折线图,我们使用了
plot()
函数。 - 为了设置轴,我们使用了
axis()
函数。 - 定义数据坐标,使用 numpy 的
linespace()
和tan()
函数。 - 每一帧要调用的函数是
animate_plot
。它的第一个参数来自下一个值帧。 FuncAnimation()
函数用于制作情节动画。- 为了在 gif plot 中保存绘图,我们使用
save()
函数。
Matplotlib update plot in loop example-2
另外,查看: Matplotlib 饼图教程
Matplotlib update plot in Jupyter
我们将学习更新 Jupyter 中的情节。为此,我们必须导入 display 和 clear_output。现在我们有两种不同的方法来更新我们的情节,让我们一个一个来看:
- 绘图前清除轴
- 打印前不清除轴
绘图前清除轴
这里我们更新了 Jupyter 中的绘图,在这种方法中,我们在绘制图形之前清除了轴。
举例:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import display, clear_output
**# Create figure and subplot**
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
**# Define and update plot**
for i in range(20):
x = np.linspace(0, i, 100);
y = np.cos(x)
ax.set_xlim(0, i)
ax.cla()
ax.plot(x, y)
display(fig)
clear_output(wait = True)
plt.pause(0.1)
- 首先导入
numpy
、matplotlib.pyplot
、display
和clear_output
库。 - 在这之后,我们使用
figure()
和add_subplot()
函数创建 figure 和 subplot。 - 接下来,定义数据坐标,使用
linspace()
和cos()
函数。 - 为了设置限制,我们使用
set_xlim()
函数。 - 为了绘制图表,我们使用了
plot()
函数。 - 为了清除屏幕,我们使用
cla()
函数。 - 要显示该图,
display()
功能。 - 为了清除输出,我们使用
clear_output()
函数。 - 为了暂停代码的执行,我们使用
pause()
函数。
输出:
matplotlib update plot in jupyter example-1
未清轴前的
在这里,我们更新了 Jupyter 中的绘图,在这种方法中,我们绘制图形时没有清除图形前的轴。
举例:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import display, clear_output
**# Create figure and subplot**
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
**# Define and update plot**
for i in range(100):
ax.set_xlim(0, 50)
ax.plot(i, 2, marker='o')
display(fig)
clear_output(wait = True)
plt.pause(0.2)
- 导入
numpy
、matplotlib.pyplot
、显示和clear_output
库。 - 在这之后,我们使用
figure()
和add_subplot()
函数创建 figure 和 subplot。 - 接下来,定义数据坐标,使用
linspace()
和cos()
函数。 - 为了设置限制,我们使用
set_xlim()
函数。 - 为了绘制图表,我们使用了
plot()
函数。 - 要显示该图,
display()
功能。为了清除输出,我们使用clear_output()
函数。 - 为了暂停代码的执行,我们使用
pause()
函数。
输出:
matplotlib update plot in jupyter example-2
阅读: Matplotlib 多条形图
Matplotlib 更新循环中的散点图
在这里,我们将学习更新散点图。为此,我们可以更新 x 和 y 的值,并在每次迭代中添加分散点。
举例:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Create Scatter Plot**
x=0
for i in range(40):
x=np.sin(i)
y = np.cos(30*x-5)
plt.scatter(x, y)
plt.title("Scatter Plot")
plt.xlabel("X-Axis")
plt.ylabel("Y-Axis")
plt.pause(0.2)
**# Display**
plt.show()
- 首先,我们导入库,比如
numpy
和matplotlib
。 - 接下来,我们使用
range()
和scatter()
函数创建一个散点图。 - 要添加标题,我们使用
title()
函数。 - 为了添加轴标签,我们使用了
xlable()
和ylabel()
函数。 - 为了暂停执行,我们使用了
pause()
函数。 - 为了显示图表,我们使用了
show()
函数。
输出:
Matplotlib update scattter plot in loop example
Matplotlib 在 while 循环中更新绘图
这里我们将看到一个例子,我们创建一个图,并使用 while 循环在每次迭代中更新它的 x 和 y 坐标。
语法如下:
while test_expression:
Body of while
举例:
**# Import Libraries**
import matplotlib.pyplot as plt
import numpy as np
**# GUI**
plt.ion()
**# Create figure**
fig=plt.figure()
**# Define Data**
data=0
x=list()
y=list()
**# While loop**
while data <50:
new_y=np.random.random();
x.append(data);
y.append(new_y);
plt.scatter(data,new_y,marker='*');
data+=1;
plt.show()
plt.pause(0.1)
输出:
Matplotlib update plot in while loop example
阅读: Matplotlib 绘图条形图
Matplotlib 更新循环中的绘图
这里我们将看到一个例子,我们创建一个图,并在每次迭代中使用 for 循环更新它的 x 和 y 坐标。
语法如下:
for val in sequence:
loop body
举例:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# For loop**
for n in range(5):
x = np.linspace(0,10)
y = np.sin( x+n )
plt.scatter( x, y )
plt.pause(0.5)
**# Display**
plt.show()
- 导入
matplotlib.pyplot
和numpy
库。 - 接下来,使用
range()
、linespace()
和sin()
函数来定义数据坐标。 - 为了绘制图表,我们使用了
scatter()
函数。
输出:
Matplotlib update plot in for loop example
你可能也喜欢阅读下面的 Matplotlib 教程。
- Matplotlib 默认图形尺寸
- Matplotlib 时间序列图
- Matplotlib savefig 空白图像
- Matplotlib 条形图标签
- Matplotlib 设定 y 轴范围
- Matplotlib 绘图误差线
- Matplotlib xlim–完整指南
- 模块‘matplotlib’没有属性‘plot’
因此,在这个 Python 教程中,我们已经讨论了“Matplotlib 循环更新绘图”,并且我们也涵盖了一些与之相关的例子。这些是我们在本教程中讨论过的以下主题。
- Matplotlib 在循环中更新绘图
- Matplotlib update plot in jupyter
- Matplotlib 在循环中更新散点图
- Matplotlib 在 while 循环中更新绘图
- Matplotlib 更新 for 循环中的绘图
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Matplotlib x 轴标签
在本 Python 教程中,我们将讨论 Python 中的 Matplotlib x 轴标签。在这里,我们将介绍使用 matplotlib 与 x 轴标签相关的不同示例。我们还将讨论以下主题:
- Matplotlib x 轴标签
- Matplotlib x 轴标签示例
- Matplotlib x-axis label size
- Matplotlib x 轴标签颜色
- Matplotlib x 轴标签垂直
- Matplotlib x 轴标签日期
- Matplotlib x 轴标签间距
- Matplotlib x-axis label bold
- Matplotlib x 轴标签范围
- Matplotlib x 轴标签移除
- Matplotlib x 轴标签科学记数法
- Matplotlib x 轴刻度标签
- Matplotlib x 轴标签字符串
- Matplotlib x 轴刻度标签大小
- Matplotlib x 轴刻度标签颜色
- Matplotlib x 轴标签子图
- 顶部的 Matplotlib x 轴标签
- Matplotlib x 轴标签位置
- Matplotlib x 轴标签重叠
- Matplotlib 禁用 x 轴标签
- Matplotlib 将 x 轴标签下移
- Matplotlib x 轴标签频率
- Matplotlib x 轴标签旋转
- Matplotlib x 轴标签方向
- Matplotlib 旋转 x 轴标签子图
- Matplotlib 替换 x 轴标签
- Matplotlib 减少 x 轴标签
目录
- Matplotlib x 轴标签
- Matplotlib x 轴标签示例
- Matplotlib x 轴标签尺寸
- Matplotlib x 轴标签颜色
- Matplotlib x 轴标签垂直
- Matplotlib x 轴标签日期
- Matplotlib x 轴标签间距
- Matplotlib x 轴标签粗体
- Matplotlib x 轴标签范围
- Matplotlib x 轴标签移除
- Matplotlib x 轴标签科学记数法
- Matplotlib x 轴刻度标签
- Matplotlib x 轴标签串
- Matplotlib x 轴刻度标签尺寸
- Matplotlib x 轴刻度标签颜色
- Matplotlib x 轴标签子图
- 顶部 Matplotlib x 轴标签
- Matplotlib x 轴标签位置
- Matplotlib x 轴标签重叠
- Matplotlib 禁用 x 轴标签
- Matplotlib 下移 x 轴标签
- Matplotlib x 轴标签频率
- Matplotlib x 轴标签旋转
- Matplotlib x 轴标签方向
- Matplotlib 旋转 x 轴标签子图
- Matplotlib 替换 x 轴标签
- Matplotlib 减少 x 轴标签
Matplotlib x 轴标签
在本节中,您将了解 Python 中的 Matplotlib 中的 x 轴标签。开始之前,您必须先了解术语 x 轴和标签的含义:
X 轴 是二维或三维图表的轴之一。基本上,它是图上水平穿过零点的一条线。
标签 或者是代表坐标轴刻度的数字,或者是描述类别的文字。
以下是向图表添加 x 轴标签的步骤:
- 导入库:从 matplotlib 导入重要的库,如用于数据创建的
Numpy
和Pandas
以及用于数据可视化的pyplot
。 - 定义数据:定义将用于可视化数据的数据坐标。
- 绘制图形或图表:您可以使用
plot()
、bar()
、scatter()
等函数来绘制图形。 - 添加 x 轴标签:使用
xlabel()
方法添加一个 x 轴标签。 - 生成图形:要在用户屏幕上显示图形,使用
show()
方法。
下面是添加 x 轴标签的语法:
matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, loc=None , **kwargs)
以下是所使用的参数:
- xlabel: 表示标签的文本。
- labelpad: 指定从轴的边界框开始的空间,以磅为单位,包括刻度和刻度标签。
- loc: 指定标签的位置。
- kwargs: 控制标签外观的文本属性。
另外,请阅读: Matplotlib 散点图标记
Matplotlib x 轴标签示例
使用 matplotlib 中的 xlabel()
方法向绘图的 x 轴添加标签。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = [0, 1, 2, 3, 4]
y = [2, 4, 6, 8, 12]
**# Plotting**
plt.plot(x, y)
**# Add x-axis label**
plt.xlabel('X-axis Label')
**# Visualize**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
包,并定义了绘图的数据坐标。 - 之后用
plot()
方法在y
和x
之间画一条线。 xlabel()
方法用于设置 x 轴标签。show()
函数用于显示图形。
plt.xlabel()
阅读: Matplotlib 虚线
Matplotlib x 轴标签尺寸
我们将看看如何使 x 轴标签字体变大。为了改变大小,将参数 fontsize
传递给 xlabel()
方法。
以下是改变 x 轴标签大小的语法:
matplotlib.pyplot.xlabel(xlabel, fontsize)
标签文本由 xlabel
设置,而字体大小由 fontsize
指定。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = [0, 1, 2, 3, 4]
y = [2, 10, 6, 5, 12]
**# Plotting**
plt.plot(x, y, '--')
**# Add x-axis label**
plt.xlabel('X-axis Label', fontsize=20)
**# Visualize**
plt.show()
在上面的例子中, fontsize
参数被传递给 xlabel()
方法来调整 x 轴标签的大小。我们给它赋值 20
。
plt.xlabel(fontsize=20)
Matplotlib x 轴标签颜色
在这一节中,我们将学习如何修改 x 轴标签的颜色。我们使用 color
参数来定制它的颜色。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = [0, 1, 2, 3, 4]
y = [2, 10, 6, 5, 12]
**# Plotting**
plt.plot(x, y, '--')
**# Add x-axis label**
plt.xlabel('X-axis Label', fontsize=15, color='r')
**# Visualize**
plt.show()
为了改变 x 轴标签的颜色,我们将一个颜色参数传递给上面例子中的 xlabel()
方法。我们已经把颜色改成了红色。
plt.xlabel(color=None)
读取: Matplotlib 日志日志图
Matplotlib x 轴标签垂直
在本节中,我们将学习如何使 x 轴标签垂直。旋转参数用于垂直定位标签。
下面是垂直设置 x 轴标签的语法:
matplotlib.pyplot.xlabel(xlabel, rotation='vertical')
举例:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 20, 0.2)
y = np.sin(x)
**# Plotting**
plt.plot(x, y, '--')
**# Add x-axis label**
plt.xlabel('Time', size = 15, rotation='vertical')
**# Visualize**
plt.show()
在上例中,将旋转参数的值设置为垂直。x 轴标签将沿垂直方向旋转。
plt.xlabel(rotation=’vertical’)
Matplotlib x 轴标签日期
我们将学习如何在 x 轴上添加一个日期作为标签。
我们来看一个例子:
**# Import Libraries**
import pandas as pd
from datetime import datetime, timedelta
from matplotlib import pyplot as plt
from matplotlib import dates as mpl_dates
**# Define Data**
dates = [
datetime(2021, 10, 21),
datetime(2021, 7, 24),
datetime(2021, 8, 25),
datetime(2021, 10, 26),
]
y = [ 0, 1, 2, 3]
**# Plotting**
plt.plot_date(dates, y)
**# Avoid overlapping**
plt.gcf().autofmt_xdate()
**# Visualize**
plt.show()
在上面的示例中,plot date()
方法用于绘制日期图。这里使用 autofmt xdate()
函数自动调整由日期组成的 x 轴。
autofmt_xdate()
Matplotlib x 轴标签间距
在这一节中,我们将学习如何在 x 轴标签之间添加空间。为了添加空格, labelpad
参数被传递给 xlabel()
方法。
以下是语法:
matplotlib.pyplot.xlabel(xlabel, labelpad=None)
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 30, 0.5)
y = np.cos(x)
**# Plotting**
plt.plot(x, y, '--')
**# Label spacing**
plt.xlabel('X-Axis')
**# OR**
plt.xlabel('X-Axis', labelpad=30)
**# OR**
plt.xlabel('X-Axis', labelpad=60)
**# Visualize**
plt.show()
为了提供间距,我们将 labelpad
参数传递给上面示例中的 xlabel()
方法。
plt.xlabel(xlabel)
plt.xlabel(xlabel, labelpad=30)
plt.xlabel(xlabel, labelpad=60)
阅读: Matplotlib 最佳拟合线
Matplotlib x 轴标签粗体
在本主题中,我们将学习如何将 x 轴标签加粗。将 fontweight
参数传递给 xlabel()
函数,使标签加粗。
以下是语法:
matplotlib.pyplot.xlabel(xlabel, fontweight='bold')
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = [0, 1, 2, 3, 4]
y = [2, 10, 6, 9, 8.5]
**# Plotting**
plt.plot(x, y, '--')
**# Bold x-axis label**
plt.xlabel('X-Axis Label', fontweight='bold')
**# Visualize**
plt.show()
- 我们在上面的例子中导入了
matplotlib.pyplot
包。 - 下一步是定义数据和创建图表。
plt.xlabel()
方法用来创建一个 x 轴标签,用fontweight
参数我们把标签加粗。
plt.xlabel(fontweight=’bold’)
Matplotlib x 轴标签范围
在这一节中,我们将学习如何限制图的 x 轴的范围。 xlim()
方法用于设置 x 轴极限。
以下是语法:
matplotlib.pyplot.xlim(limit_range)
让我们以设置 x 轴标签范围为例:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 30, 0.5)
y = np.cos(x)
**# Plotting**
plt.plot(x, y)
**# Add x-axis label**
plt.xlabel('X-Axis')
**# x-axis limit**
plt.xlim(-2.5, 6)
**# Display**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
库。 - 接下来,我们使用
arange()
和cos()
函数来定义数据。 - 要绘制图形,请使用
plt.plot()
方法。 - 要给 x 轴添加标签,使用
plt.xlabel()
方法。 - 使用
plt.xlim()
方法设置 x 轴范围。在这种情况下,我们将其从-2.5
更改为6
。
Normal x-axis
plt.xlim()
阅读: Matplotlib 绘图条形图
Matplotlib x 轴标签移除
我们将在这一部分学习如何去掉 x 轴标签。我们移除整个 x 轴标签,包括文本标签、刻度标签和刻度标记。
我们必须调用 set_visible()
方法,并将其值设置为 False
来移除 x 轴标签。
以下是移除 x 轴标签的语法:
matplotlib.axes.Axes.get_xaxis().set_visible(False)
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Create Figure and Axes**
fig,ax = plt.subplots(1)
**# Define Data**
x = np.arange(0, 30, 0.5)
y = np.cos(x)
**# Make your plot**
ax.plot(x, y)
**# Add labels
**
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
**# Remove X label**
plt.gca().axes.get_xaxis().set_visible(False)
**# Display
**
plt.show()
- 为了设置 x 轴和 y 轴标签,我们使用上面例子中的
ax.set_xlabel()
和ax.set_ylabel()
方法。 - 然后使用
plt.gca()
方法检索当前轴。 - 然后使用
axes.get_xaxis()
方法获得 x 轴。 - 然后,为了移除 x 轴标签,我们使用
set_visible()
并将其值设置为False
。
” Remove x-axis labels “
Matplotlib x 轴标签科学记数法
在本主题中,我们将学习如何用科学记数法格式化 x 轴。
【科学记数法】 指以倍数为数显示。
科学记数法没有加号作为乘数。
方法用于将 x 轴转换为科学记数法。
以下是语法:
matplotlib.pyplot.ticklabel_format(axis=None, style="", scilimits=None)
以下是所使用的参数:
- 轴:指定轴。
- 样式:表示轴的样式。
- scilimits: 指定刻度的界限
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = [1000, 2000, 3000]
y = [3000, 4000, 5000]
**# Plot**
plt.plot(x, y)
**# Scientific Notation**
plt.ticklabel_format(axis="x", style="sci", scilimits=(0,0))
**# Display**
plt.show()
为了将 x 轴刻度转换为科学记数法,我们使用了 ticklabel_format()
方法,并将轴作为 x
传递,将样式作为科学记数法传递。
” Scientific Notation X-axis “
Matplotlib x 轴刻度标签
我们将向您展示如何在您选择的 x 轴上添加刻度标签。
刻度标签 是坐标轴上表示数据点的标记。
要添加刻度标签,请使用以下语法:
matplotlib.axes.Axes.set_xticklabels(self,xlabel,fontdict=None,labelpad=None)
以下是所使用的参数:
- xlabel: 指定标签文本。
- fontdict: 字体样式字典。
- labelpad: 点与点之间的空间。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define data**
x = [1, 2, 3, 4, 5]
y = [2.5, 0.6, 4.9, 3, 6]
**# Create subplot**
ax = plt.subplot()
**# Define tick label**
ax.set_xticklabels([2, 4, 6, 8, 10])
**# Display graph**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
库。 - 然后,为了可视化,我们定义数据坐标。
- 然后使用
plt.subplot()
方法来构建子情节。 - 然后使用
set_xticklabels()
方法来定义 x 刻度标签。
输出:
” By default x-axis tick labels “
当我们不指定刻度标签时,我们得到如上所示的输出。
set_ticklabels()
当我们选择刻度标签时,我们得到上面显示的输出。
Matplotlib x 轴标签串
我们将学习如何使用字符串来设置 x 轴标签或刻度标记。构建了程序员和语言之间的图形。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
programmers = [5, 6, 2, 3]
languages = ["Python", "Java", "C++", "C" ]
**# Plot chart**
plt.plot( languages, programmers, color= 'r', marker= 'o')
**# Display chart**
plt.show()
- 在上面的例子中,我们通过将 x 轴标签放在引号中来定义字符串形式的 x 轴标签。
- 我们使用双引号来定义不同的语言,以便它们可以用字符串格式表示。
- 之后,我们使用
plt.plot()
方法绘制一个图形,传递颜色和标记作为参数,并分别给它们赋值红色和o
。
“String Labels”
阅读: Python 使用 Matplotlib 绘制多条线
Matplotlib x 轴刻度标签尺寸
数据轴标签(通常称为刻度标签)的大小可以更改。我们只需要传递 fontsize
参数并设置它的值。
要修改 x 刻度标签的大小,请使用以下语法:
matplotlib.pyplot.xticks(fontsize=)
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
students = [6, 15, 8, 10]
color = ["Red", "Black", "White", "Blue"]
**# Plot sactter chart**
plt.scatter(color, students, marker='*', color='g', s=50)
**# Fontsize of tick labels**
plt.xticks(fontsize=15)
**# Labels**
plt.xlabel("Favourite color")
plt.ylabel("No.of.students")
**# Display chart**
plt.show()
- 我们在上面的例子中导入了
matplotlib.pyplot
包。 - 接下来,我们定义将要绘制的数据。
- 使用
plt.scatter()
方法绘制散点图,使用参数标记、颜色和s
分别设置标记样式、颜色和大小。 - 使用
plt.xticks()
方法绘制刻度标签,将fontsize
参数调整为15
来改变字体大小。 - 要在 x 轴和 y 轴上设置标签,请使用
plt.xlabel()
和plt.ylabel()
方法。
plt.xticks(fontsize=15)
Matplotlib x 轴刻度标签颜色
在本节中,我们将学习如何修改 x 轴上刻度标签的颜色。要改变颜色,使用带有颜色参数的 xticks()
方法。
下面是改变 x 记号颜色的语法:
matplotlib.pyplot.xticks(color=None)
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 30, 0.5)
y = np.tan(x)
**# Plotting**
plt.plot(x, y)
**# Change color of xticks**
plt.xticks(color='r')
**# Visualize**
plt.show()
- 在上面的例子中,我们使用 numpy 的
arange()
和tan()
方法来定义数据并在它们之间绘制图形。 - 为了修改刻度的颜色,我们使用
plt.xticks()
并传递一个颜色参数。在这种情况下,xticks 的颜色设置为红色。
plt.xticks(color=’red’)
Matplotlib x 轴标签子图
我们将在这里学习如何给子情节添加 x 轴标签。为了给 x 轴添加标签,我们使用了 set_xlabel()
方法。
以下是向 x 轴添加标签的语法:
matplotlib.axes.Axes.set_xlabel()
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x1= [0.2, 0.4, 0.6, 0.8, 1]
y1= [0.3, 0.6, 0.8, 0.9, 1.5]
x2= [2, 6, 7, 9, 10]
y2= [3, 4, 6, 9, 12]
x3= [5, 8, 12]
y3= [3, 6, 9]
x4= [7, 8, 15]
y4= [6, 12, 18]
**# Add subplots**
fig, ax = plt.subplots(2, 2)
**# Add labels at x-axis**
ax[0, 0].set_xlabel('Subplot 1')
ax[0, 1].set_xlabel('Subplot 2')
ax[1, 0].set_xlabel('Subplot 3')
ax[1, 1].set_xlabel('Subplot 4')
**# Plot graph**
ax[0, 0].plot(x1, y1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
**# Display Graph**
fig.tight_layout()
plt.show()
- 我们在一个图形区域中绘制了多个图,并希望在上面的示例中向 x 轴添加一个标签。
- 为了添加标签,我们使用了
set_xlabel()
方法。
set_xlabel()
顶部 Matplotlib x 轴标签
我们将学习如何将 x 轴标签或 x 轴刻度线放在图表的顶部,而不是底部。
默认情况下,将在左侧和底部轴上添加刻度和刻度标签。我们可以在 matplotlib 中独立地打开和关闭标签。
下面是在顶部添加标签的语法:
**# Tick Marker**
matplotlib.axes.Axes.tick_params(bottom=True, top=False, left=True, right=False)
**# Tick Label**
matplotlib.axes.Axes.tick_params(labelbottom=True, labeltop=False, labelleft=True, labelright=False)
以下是布尔参数:
- 底部:指定是否显示底部刻度。
- 顶部:指定顶部刻度是否显示。
- 右:指定是否显示右刻度。
- 左侧:指定是否显示左侧刻度。
- 标签底部:指定刻度标签是否显示在底部。
- 标签顶部:指定刻度标签是否显示在顶部。
- labelleft: 指定刻度标签是否显示在左侧。
- 标签右侧:指定刻度标签是否显示在右侧。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 30, 0.2)
y = np.tan(x)
**# Add subplot**
ax = plt.subplot()
**# Plotting**
plt.plot(x, y)
**# Xlabel on top**
ax.tick_params(top=True, bottom=False)
ax.tick_params(labeltop=True, labelbottom=False)
**# Visualize**
plt.show()
- 我们在上面的代码中导入了
matplotlib.pyplot
和numpy
库。 - 接下来,我们使用
arange()
和 numpy 的tan()
方法指定数据,然后使用plot()
方法绘制图形。 - 要添加刻度和刻度标签,请使用
ax.tick_params()
方法。 - 为了打开轴的顶部上的刻度和关闭轴的底部上的刻度,我们传递顶部和底部作为参数。为了在轴的顶部显示刻度标签并且从轴的底部隐藏刻度标签,我们必须传递标签顶部和标签底部作为参数。
ax.tick_params()
Matplotlib x 轴标签位置
在本主题中,我们将学习如何将 x 轴标签移动到不同的位置。
以下是语法:
matplotlib.axes.Axes.set_xlabel(label, loc='None')
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x1= [0.2, 0.4, 0.6, 0.8, 1]
y1= [0.3, 0.6, 0.8, 0.9, 1.5]
**# Add subplots**
fig, ax = plt.subplots()
**# Add labels at x-axis at different locations**
ax.set_xlabel('X-Axis')
**# OR**
ax.set_xlabel('X-Axis', loc='right')
**#OR**
ax.set_xlabel('X-axis', loc='left')
**# Plot graph**
ax.plot(x1, y1)
**# Display Graph**
plt.show()
在上面的例子中,我们使用 set_xlabel()
方法向 x 轴添加一个标签,我们将 loc
作为参数传递,并将其值设置为 left
和 right
。
By default loc=’center’
loc=’right’
loc=’left’
Matplotlib x 轴标签重叠
在这一节中,我们将看看 x 轴标签开始重叠的情况。因此,我们必须设置 x 轴的格式,以使图表看起来整洁。
让我们看看下面的例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = ['I am the Label 1', "I am the Label 2", "I am the Label 3", "I am the Label 4", "I am the Label 5", "I am the Label 6"]
y = [2, 4, 5, 6, 7.5, 3.8]
**# Plot chart**
plt.plot(x, y)
**# Display Chart**
plt.show()
“X-axis Label Overlap Each Other”
在 matplotlib 中,我们有一个方法 setp()
用于设置刻度标签的旋转和对齐属性,以避免重叠。
setp()方法的语法如下:
matplotlib.pyplot.setp(object, **kwargs)
让我们来看一个去除重叠的例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = ['I am the Label 1', "I am the Label 2", "I am the Label 3", "I am the Label 4", "I am the Label 5", "I am the Label 6"]
y = [2, 4, 5, 6, 7.5, 3.8]
**# Plot chart**
ax= plt.subplot()
plt.plot(x, y)
**# Function to avoid overlapping**
plt.setp(ax.get_xticklabels(), rotation=30, ha='right')
**# Display Chart**
plt.show()
为了获得 ticklabels,我们使用了 plt.setp()
和 get.xticklabels()
函数,并将旋转和 ha
参数传递给该函数,分别将它们的值设置为 30
和右。
“X-axis Without Overlapping”
Matplotlib 禁用 x 轴标签
在本教程中,我们将了解如何在 Matplotlib 中从 x 轴移除标签。默认情况下,标签显示在 matplotlib 中绘图的左轴和底轴上。
我们必须调用 tick_params()
方法从 x 轴上移除标签,或者我们可以说从轴的底部移除标签。
禁用 x 轴标签的语法如下:
matplotlib.axes.Axes.tick_params(bottom=False, labelbottom=False)
底部和标签底部都被赋予了假布尔值。因此,x 轴上的刻度和刻度标签被禁用。但是,x 轴标签仍然保留。
举例:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Create Figure and Axes**
fig,ax = plt.subplots()
**# Define Data**
x = np.arange(0, 30, 0.5)
y = np.cos(x)
**# Make your plot**
ax.plot(x, y)
**# Add labels
**
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
**# Disabel X label**
ax.tick_params(bottom=False, labelbottom=False)
**# Show**
plt.show()
- 在上面的例子中,
plot()
方法用于创建一个图表。 - 之后,我们使用
set_xlabel()
和set_ylabel()
方法在两个轴上创建标签。 - 我们使用
tick_params()
方法从绘图的 x 轴上移除刻度和刻度标签。我们将bottom
和labelbottom
参数传递给函数,并将它们的布尔值设为False
。
tick_params(bottom=False, labelbottom=False)
阅读: Matplotlib 条形图标签
Matplotlib 下移 x 轴标签
在本主题中,我们将学习如何沿 x 轴移动 x 轴标签和刻度标签。我们使用带有 labelpad
参数的 xlabel()
函数来移动标签,使用带有 pad
参数的 tick_params()
方法来移动 ticklabels。
要向下移动,必须传递一个正整数值;否则,它将开始向上移动。
语法如下:
**# To move labels**
plt.xlabel(xlabel, labelpad=20)
`OR`
ax.xaxis.labelpad=20
**# To move ticklabels**
ax.tick_params(pad=20)
我们来看例子:
例#1
**# Import Library**
import matplotlib.pyplot as plt
**# Add subplots**
fig, ax = plt.subplots()
**# Define Data**
x= [0.2, 0.4, 0.6, 0.8, 1]
y= [0.3, 0.6, 0.8, 0.9, 1.5]
**# Plot graph**
ax.plot(x, y)
**# Add labels
**
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
**# Move label downwards**
ax.xaxis.labelpad=30
**# Display Graph**
plt.show()
为了在上面的例子中向下移动标签,我们使用了值为 30
的 ax.xaxis.labelpad
。
labelpad=30
例 2
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 30, 0.5)
y = np.sin(x)
**# Plotting**
plt.plot(x, y)
**# Move label downwards**
plt.xlabel('X-Axis', labelpad=30)
**# Visualize**
plt.show()
我们在上面的例子中使用 labelpad
参数向下移动标签,并将其传递给 xlabel()
方法。其值已被设置为 30
。
labelpad=30
例 3
**# Import Library**
import matplotlib.pyplot as plt
**# Add subplots**
fig, ax = plt.subplots()
**# Define Data**
x= [0, 1, 2, 3, 4]
y= [2, 4, 6, 8, 10 ]
**# Plot graph**
plt.plot(x,y)
**# Add labels**
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
**# Move ticklabel downwards**
ax.tick_params(axis='x',pad=30)
**# Display Graph**
plt.show()
在上面的例子中, tick_params()
方法用于向下移动刻度标签。我们将轴和垫的值分别设置为 x
和 30
作为参数。
tick_params(axis=x, pad=30)
阅读:在 Python 中添加文本到 plot matplotlib
Matplotlib x 轴标签频率
在本用户指南中,我们将了解如何在图形和轴级别修改 matplotlib 中的刻度频率。
数字级滴答频率
要调整图形级别的刻度频率,调用 xticks()
函数,并将刻度数组作为参数传递。该数组在 X 轴上从 0
开始,在最大值 x
结束,在 X 轴上每 3
步有一个刻度。
举例:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.random.randint(low=0, high=30, size=15)
y = np.random.randint(low=0, high=30, size=15)
**# Scatter Plot**
plt.scatter(x,y)
**# Tick frequency**
plt.xticks(np.arange(0, max(x), 3))
**# Show**
plt.show()
“X-axis Tick Frequency”
轴级滴答频率
如果在一个图形区域中有多个图,我们希望在轴级别上调整刻度频率。为了分别调整两个轴的节拍频率,我们使用了 set_xticks()
函数。
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Create figure and subplot**
fig = plt.figure(figsize=(12, 6))
ax = fig.add_subplot(121)
ax1 = fig.add_subplot(122)
**# Define Data**
x = np.random.randint(low=0, high=30, size=15)
y = np.random.randint(low=0, high=30, size=15)
**# Scatter Plot**
ax.scatter(x,y)
ax1.scatter(x,y)
**# Tick Frequency**
ax.set_xticks(np.arange(0, max(x), 3))
ax1.set_xticks(np.arange(0, max(y), 10))
**# Show**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
库。 - 接下来,我们使用
figure()
和add_subplot()
函数分别构建一个人物和一个子情节。 - 然后我们用 random 来定义数据
randint()
是一个返回随机数的方法。 - 要创建散点图,请使用
scatter()
方法。 set_xticks()
方法用于控制滴答的频率。该数组在副剧情 1 上以每 3 步一个刻度从 0 开始,在 x 的最大值处结束,而在副剧情 2 上以每 10 步一个刻度从 0 开始,在 x 的最大值处结束。
set_xticks()
读取: Matplotlib 绘图误差线
Matplotlib x 轴标签旋转
我们学习如何在 matplotlib 中旋转 x 轴标签。我们可以选择任何角度放置标签。
可以使用多种功能旋转 x 轴标签:
- 通过使用 plt.xticks()
- 通过使用 ax.set_xticklabels()
- 通过使用 ax.tick_params()
Matplotlib x 轴标签旋转使用 plt.xticks()
要在 15 度旋转 x 轴刻度标签,我们使用带有 matplotlib 中旋转参数的 plt.xticks()
方法。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x= [0, 1, 2, 3, 4]
y= [2, 4, 6, 8, 10 ]
**# Plot graph**
plt.plot(x,y)
**# Rotation**
plt.xticks(rotation=30)
**# Display Graph**
plt.show()
plt.xticks(rotation=30)
Matplotlib x 轴标签旋转使用 ax.set_xticklabels()
为了旋转 x 轴标签,我们使用了 ax.set_xticklabels()
方法,并将旋转和标签作为参数传递。
**# Import Library**
import matplotlib.pyplot as plt
**# Create subplot**
ax = plt.subplot()
**# Define Data**
students = [6, 15, 8, 10]
color = ["Red", "Black", "White", "Blue"]
**# Plot scatter chart**
plt.scatter(color, students, marker='*', color='g', s=50)
**# labels**
plt.xlabel("Favourite color")
plt.ylabel("No.of.students")
**# Rotation**
ax.set_xticklabels(color, rotation=45)
**# Display chart**
plt.show()
ax.set_xticklabels(color, rotation=45)
Matplotlib 使用 ax.tick_params() 旋转 x 轴标签
为了旋转标签,我们使用 ax.tick_params()
函数,将轴和标签旋转作为参数传递,并将它们的值分别设置为 x
和 65
度。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Create subplot**
ax = plt.subplot()
**# Define Data**
students = [6, 15, 8, 10]
color = ["Red", "Black", "White", "Blue"]
**# Plot scatter chart**
plt.scatter(color, students, marker='*', color='g', s=50)
**# labels**
plt.xlabel("Favourite color")
plt.ylabel("No.of.students")
**# Rotation**
ax.tick_params(axis='x', labelrotation=180)
**# Display chart**
plt.show()
ax.tick_params(axis=’x’, labelrotation=180)
Matplotlib x 轴标签方向
本节将讨论 x 轴标签方向。方向选项允许您以您喜欢的任何角度旋转 x 轴标签。将旋转参数传递给 plt.xlabel()
方法来旋转标签。
举例:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.random.randint(low=0, high=30, size=15)
y = np.random.randint(low=0, high=30, size=15)
**# Scatter Plot**
plt.scatter(x,y)
**# Rotate**
plt.xlabel('X-Axis', rotation=65, size=20)
**# Show**
plt.show()
- 在上面的例子中,我们使用
random.randint()
方法定义数据,使用scatter()
方法在散点图中绘制数据。 plt.xlabel()
方法用于向 x 轴添加标签,或者我们可以说是描述性标签,并且将旋转参数传递给该方法以调整 x 轴标签的方向。
“X Label at 65 Degrees”
Matplotlib 旋转 x 轴标签子图
如果我们有多个支线剧情,我们将探索如何旋转特定支线剧情的 x 轴标签。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x1= [0.2, 0.4, 0.6, 0.8, 1]
y1= [0.3, 0.6, 0.8, 0.9, 1.5]
x2= [2, 6, 7, 9, 10]
y2= [3, 4, 6, 9, 12]
x3= [5, 8, 12]
y3= [3, 6, 9]
x4= [7, 8, 15]
y4= [6, 12, 18]
**# Add subplots**
fig, ax = plt.subplots(2, 2)
**# Plot graph**
ax[0, 0].plot(x1, y1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
**# Add labels at x-axis**
ax[0, 0].set_xlabel('Subplot 1', rotation=15)
ax[0, 1].set_xlabel('Subplot 2')
ax[1, 0].set_xlabel('Subplot 3')
ax[1, 1].set_xlabel('Subplot 4')
**# Rotate x ticks**
ax[1, 1].set_xticklabels(ax[1, 1].get_xticks(), rotation=45)
**# Display Graph**
fig.tight_layout()
plt.show()
- 为了旋转 x 轴标签,我们使用了
set_xlabel()
方法,并将参数xlabel
和rotation
传递给函数。 set_xticklabels()
函数也用于旋转 x 轴上的刻度标签。我们使用get_xticks()
方法来获取 x 轴上的记号,并使用rotation
参数来旋转记号标签。
” Rotation of labels and tick labels “
Matplotlib 替换 x 轴标签
在本教程中,我们将学习如何将默认的 x 轴刻度标签更改为我们自己的标签。
举例:
在本例中,我们将使用我们选择的标签替换特定的 xticklabel。我们通过调用 set_xticklabels()
方法并向其传递新的刻度标签来实现这一点。
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Create subplot**
fig, ax = plt.subplots()
fig.canvas.draw()
**# Define Data**
x = np.random.randint(low=0, high=30, size=15)
y = np.random.randint(low=0, high=30, size=15)
**# Scatter Plot**
plt.scatter(x,y)
**# Replace**
labels[2] = 'Change'
ax.set_xticklabels(labels)
**# Show**
plt.show()
- 在上面的例子中,我们使用
random.randint()
函数来定义数据,使用scatter()
方法来绘制它们之间的图形。 - 然后使用
set_xticklabels()
方法来替换特定的标签。
” Replace x-axis tick labels “
Matplotlib 减少 x 轴标签
要减少轴上的 xticks 数量,请使用 matplotlib 中的 locator_params()
方法。
以下是语法:
matplotlib.pyplot.locator_params(axis=, nbins=)
以下是所使用的参数:
- 轴:指定是 x 轴还是 y 轴。
- nbins: 指定刻度数。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 40, 0.5)
y = np.tan(x)
**# Plotting**
plt.plot(x, y)
**# Add x-axis label**
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
**# Reduce xtick label**
plt.locator_params(axis="x", nbins=5)
**# Visualize**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和numpy
库。 - 之后,我们使用
arange()
和tan()
函数来定义数据。 - 要绘制 x 和 y 数据坐标之间的图形,使用
plt.plot()
方法。 xlabel()
和ylabel()
函数用于给轴添加标签。- 要减少 x 轴标签,请使用
plt.locator_params()
方法。我们分别设置轴和nbins
到x
和5
的值作为参数。
” Default number of xticks “
” Reduce the number of sticks “
另外,看看 Matplotlib 上的更多教程。
因此,在本 Python 教程中,我们已经讨论了“Matplotlib x 轴标签”,并且我们还涵盖了一些与之相关的示例。这些是我们在本教程中讨论过的以下主题。
- Matplotlib x 轴标签
- Matplotlib x 轴标签示例
- Matplotlib x-axis label size
- Matplotlib x 轴标签颜色
- Matplotlib x 轴标签垂直
- Matplotlib x 轴标签日期
- Matplotlib x 轴标签间距
- Matplotlib x-axis label bold
- Matplotlib x 轴标签范围
- Matplotlib x 轴标签移除
- Matplotlib x 轴标签科学记数法
- Matplotlib x 轴刻度标签
- Matplotlib x 轴标签字符串
- Matplotlib x 轴刻度标签大小
- Matplotlib x 轴刻度标签颜色
- Matplotlib x 轴标签子图
- 顶部的 Matplotlib x 轴标签
- Matplotlib x 轴标签位置
- Matplotlib x 轴标签重叠
- Matplotlib 禁用 x 轴标签
- Matplotlib 将 x 轴标签下移
- Matplotlib x 轴标签频率
- Matplotlib x 轴标签旋转
- Matplotlib x 轴标签方向
- Matplotlib 旋转 x 轴标签子图
- Matplotlib 替换 x 轴标签
- Matplotlib 减少 x 轴标签
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
matplotlib xlim–完整指南
原文:# t0]https://pythongguide . com/matplotlib-xlim/
在本 Python Matplotlib 教程中,我们将讨论 Matplotlib xlim
。在这里,我们将使用 matplotlib 介绍与 xlim 函数相关的不同示例。我们还将讨论以下主题:
- Matplotlib xlim
- Matplotlib 调用 xlim
- Matplotlib xlim 左
- Matplotlib xlim 右
- Matplotlib xlim 对数标度
- Matplotlib 散点图 xlim
- Matplotlib xlim histogram
- matplotlib imshow xlim
- Matplotlib heatmap xlim
- Matplotlib xlim 填充
- Matplotlib 三维绘图 xlim
- Matplotlib 动画 xlim
- Matplotlib xlim errorbar
- Matplotlib twiny xlim
- Matplotlib xlim 子出图
- Matplotlib xlim 日期时间
目录
- Matplotlib xlim
- Matplotlib 呼叫 xlim
- Matplotlib xlim left
- Matplotlib xlim right
- Matplotlib xlim 对数标度
- Matplotlib 散点图 xlim
- Matplotlib xlim 组团
- matplotlib im how xlim
- Matplotlib 热图 xlim
- Matplotlib xlim 填充
- Matplotlib 3d plot xlim
- Matplotlib 动画 xlim
- Matplotlib xlim errorbar
- Matplotlib twiny xlim
- Matplotlib xlim 子图
- Matplotlib xlim 日期时间
Matplotlib xlim
在本节中,我们将了解 matplotlib 库的 pyplot 模块的 xlim()
函数。 xlim()
函数用于设置或获取 x 轴限值,或者我们可以说是 x 轴范围。
默认情况下,matplotlib 会自动选择 x 轴界限的范围,以便在绘图区域绘制数据。但是如果你想改变 x 轴的范围,你可以使用 xlim()函数。
首先,我们将看到 xlim()
函数的语法。
matplotlib.pyplot.xlim(*args, **kargs)
这里你可以使用参数和关键字参数,所以我们可以有零个或多个参数和关键字参数。
另外,检查: Matplotlib x 轴标签
Matplotlib 呼叫 xlim
在这里,我们将学习调用 pyplot 模块的 xlim()
函数。通常,我们会以三种不同的方式调用 xlim()
函数:
- 获取当前轴范围
- 更改当前轴范围
- 用关键字参数更改当前轴范围
获取当前轴范围
要获得当前的轴范围,您必须接受两个变量,比如 left 和 right,因此您将获得范围的左值和右值,然后您将调用这个 xlim()函数。
语法:
left, right = matplotlib.pyplot.xlim()
我们来看一个例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Data Coordinates**
x = np.arange(2, 8)
y = np.array([5, 8, 6, 20, 18, 30])
**# PLot**
plt.plot(x, y)
**# Get and print current axes**
left, right = plt.xlim()
print("Left value:",left,"\n","Right Value:",right)
**# Add Title**
plt.title("Get Current axis range")
**# Add Axes Labels**
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
**# Display**
plt.show()
- 首先,我们导入
matplotlib.pyplot
和numpy
库。 - 接下来,我们使用 numpy 的
arange()
和array()
函数定义用于绘图的数据坐标。 - 为了绘制图表,我们使用了
plot()
函数。 - 取两个变量 left 和 right 和
xlim()
不带任何参数的函数,这意味着它将返回当前的 x 轴范围。 - 然后我们将获得左右值,并使用
print()
函数打印它们。 - 为了添加标题,我们使用了
title()
函数。 - 为了在轴上添加标签,我们使用了
xlabel()
和ylabel()
函数。 - 为了显示图表,我们使用了
show()
函数。
xlim()
改变当前轴范围
如果你想改变极限,我们用你选择的左值和右值调用 xlim()
函数。
语法:
matplotlib.pyplot.xlim(left_value, right_value)
我们来看一个例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = [0, 1, 2, 3, 4, 5]
y = [1.5, 3, 5.3, 6, 10, 2]
**# Change current axes**
plt.xlim(2, 5)
**# Plot**
plt.plot(x,y,'-o')
**# Display**
plt.show()
要更改当前 x 轴的值,我们使用 xlim()
函数,并传递您选择的左右值。
plt.xlim(2,5)
用关键字参数改变当前轴范围
这里您将使用 xlim()
函数,用关键字参数而不是参数来改变轴的范围。
语法:
matplotlib.pyplot.xlim(left=value, right=value)
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define data coordinates**
x = np.linspace(20, 10, 100)
y = np.sin(x)
**# Change axes with keyword arguments**
plt.xlim(left=5, right=15)
**# Plot**
plt.plot(x, y)
**# Display**
plt.show()
- 这里我们首先导入
matplotlib.pyplot
和numpy
库。 - 接下来,我们定义数据坐标,使用 numpy 的
linespace()
和sin()
函数。 - 为了改变轴的限制,我们使用带有关键字参数左和右的
xlim()
函数,并设置它们的值。这里我们把左边的值设为 5,右边的值设为 15。 - 为了绘制线图,我们使用了
plot()
函数。
Graph with default values
plt.xlim(left=5, right=15)
阅读: Matplotlib 多条形图
Matplotlib xlim left
这里我们将学习设置或获取 x 轴左边值的极限。让我们来看看不同的例子。
例#1
在本例中,我们将获得当前轴的左极限,为此,我们将获取变量 left
,然后我们不带任何参数地调用 xlim()
函数。
语法:
left =matplotlib.pyplot.xlim()
源代码:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Data Coordinates**
x = np.arange(2, 8)
y = np.array([2, 4, 6, 8, 10, 12])
**# PLot**
plt.plot(x, y)
**# Get and print current axes**
left, right= plt.xlim()
print("Left value:",left)
**# Display**
plt.show()
输出:
left=plt.xlim()
例 2
在本例中,我们将设置左当前轴限制,为此,我们将使用关键字参数 left
和 xlim()
函数。
语法:
matplotlib.pyplot.xlim(left=left_value)
源代码:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Data Coordinates**
x = [1, 2, 3, 4, 5]
y = [4, 8, 12, 16, 20]
**# PLot**
plt.plot(x, y)
**# Set left axes**
plt.xlim(left=2.5)
**# Display**
plt.show()
输出:
plt.xlim(left=2.5)
例 3
如果你想改变限制,我们用你选择的左值调用 xlim()
函数。绘图的正确值是自动设置的。
语法:
matplotlib.pyplot.xlim(left_value)
源代码:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define data coordinates**
x = np.linspace(20, 10, 100)
y = np.sin(x)
**# Change axes**
plt.xlim(20)
**# Plot**
plt.plot(x, y)
**# Display**
plt.show()
这里我们将 20 传递给 xlim()
函数,这个值被设置为绘图的左 x 轴。
输出:
plt.xlim(20)
阅读: Matplotlib 散点图图例
Matplotlib xlim right
在这里,我们将学习设置或获取 x 轴右值的极限。让我们来看看不同的例子。
例#1
在本例中,我们将获得右当前轴限值,为此,我们将获取变量右,然后我们调用 xlim()
函数,不带任何参数。之后,我们打印正确的值。
语法:
right =matplotlib.pyplot.xlim()
源代码:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define data coordinates**
x = np.arange(5, 11)
y = np.array([2, 4, 6, 8, 10, 12])
**# Plot**
plt.plot(x, y)
**# Get and print current axes**
left, right= plt.xlim()
print("Right value:",right)
**# Display**
plt.show()
输出:
right=plt.xlim()
例 2
在本例中,我们将设置右当前轴限制,为此,我们将使用关键字参数 right
和 xlim()
函数。
语法:
matplotlib.pyplot.xlim(right=right_value)
源代码:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define data coordinates**
x = np.random.randint(450,size=(80))
y = np.random.randint(260, size=(80))
**# Plot**
plt.scatter(x, y)
**# Set right axes**
plt.xlim(right=250)
**# Display**
plt.show()
输出:
plt.xlim(right=250)
Matplotlib xlim 对数标度
这里我们将看到一个对数图的例子,这里我们还设置了 x 轴的界限。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x = [ 10**i for i in range(5)]
y = [ i for i in range(5)]
**# Log scale**
plt.xscale("log")
**# Plot**
plt.plot(x,y)
**# Set limit**
plt.xlim([1,2**10])
**# Display**
plt.show()
- 这里我们先导入
matplotlib.pyplot
库。 - 接下来,我们定义数据坐标。
- 然后,我们使用
xscale()
函数将 x 轴刻度转换为对数刻度。 - 为了绘制图表,我们使用了
plot()
函数。 - 为了设置 x 轴的极限,我们使用
xlim()
函数。 - 为了显示图形,我们使用
show()
函数。
输出:
Default x limits
plt.xlim([1,2**10])
Matplotlib 散点图 xlim
这里我们将设置散点图 x 轴的界限。为了创建散点图,我们使用了 scatter()
函数,为了设置 x 轴的范围,我们使用了 xlim()
函数。
我们来看一个例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.arange(0, 20, 0.2)
y = np.sin(x)
**# Plotting**
plt.scatter(x, y)
**# Set axes**
plt.xlim(6, 18)
**# Add label**
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
**# Display** plt.show()
Default axes limits
这里,x 轴的最小值或右侧值约为 0.0,x 轴的最大值或左侧值约为 20.0。
plt.xlim()
这里我们将 x 轴的右边界设置为 6,左边界设置为 18。
Matplotlib xlim 组团
在这里,我们将学习设置直方图中 x 轴的限制。首先,我们讨论直方图是什么。基本上,直方图是一个图表,用于频率分布。为了在 matplotlib 中创建直方图,我们使用了 hist()
函数。
我们已经知道,要设置 x 轴极限,我们使用 xlim()
函数。
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.random.normal(170, 10, 250)
**# Plot Histogram**
plt.hist(x)
**# Set limits**
plt.xlim(160,250)
**# Display**
plt.show()
hist()
plt.xlim(160, 250)
这里我们将 x 轴的最大和最小范围分别设置为 160 和 250。
matplotlib im how xlim
matplotlib 的 imshow()
函数用于将数据显示为图像,并设置 x 轴极限 we,使用xlim()
函数。
我们来看一个例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(100).reshape((10,10))
**# Set axes**
plt.xlim(left=-1,right=10)
**# Heat map**
plt.imshow( x, cmap = 'Set2' , interpolation = 'bilinear')
**# Add Title**
plt.title( "Imshow Xlim Function" )
**# Display**
plt.show()
- 导入
matplotlib.pyplot
和numpy
库。 - 接下来,我们使用 numpy 的
arange()
函数定义数据坐标。 - 在此之后,我们使用
xlim()
函数来设置 x 轴。我们将左边的值设置为-1,右边的值设置为 10。 - 然后,我们使用
imshow()
函数来绘制热图。我们通过x
参数来表示图像的数据,cmap
参数是 colormap 实例,插值参数用于显示图像。
imshow() and xlim()
Matplotlib 热图 xlim
seaborn 模块的 heatmap()
函数用于将矩形数据绘制为颜色矩阵,要设置 x 轴限制,请使用 xlim()
函数。
我们来看一个例子:
**# Import Library**
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
**# Define Data Coordinates**
x = np.arange(15**2).reshape((15, 15))
**# HeatMap**
sns.heatmap( x , linewidth = 0.5 , cmap = 'tab10' )
**# Set limit**
plt.xlim(5,8)
**# Add Title**
plt.title( "Heat Map" )
**# Display**
plt.show()
- 在上面的例子中,我们导入了
numpy
、matplotlib.pyplot
和seaborn
库。 - 之后,我们使用 numpy 的
arange()
方法定义数据坐标,并使用shape()
方法对其进行整形。 - 然后我们使用 seaborn 的
heatmap()
函数。 - 为了设置 x 轴的限制,我们使用
xlim()
函数,该函数具有绘图的左值和右值。 - 要给绘图添加标题,使用
title()
函数。
xlim()
Matplotlib xlim 填充
在设置 x 轴限制时,我们可以通过使用紧凑布局来保留填充。为了设置紧凑布局,我们使用PLT . RC params[" figure . autolayout "]= False。
举例:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Setting plot**
plt.rcParams["figure.figsize"] = [6.00, 3.00]
plt.rcParams["figure.autolayout"] = True
**# Define Data**
x = np.linspace(-20, 20, 300)
y = np.cos(x)
**# Set axes**
plt.xlim([2,max(x)])
**# Plot**
plt.plot(x, y)
**# Display**
plt.show()
说明:
- 首先,导入
numpy
和matplotlib.pyplot
库。 - 接下来,为了设置图形大小,我们使用PLT . RC params[" figure . fig size "]。
- 为了调整子情节之间和周围的填充,我们使用PLT . RC params[" figure . autolayout "]。
- 使用 numpy 的
linspace()
和cos()
函数创建 x 和 y 数据坐标。 - 限制 x 轴,我们使用
xlim()
函数。 - 使用
plot()
方法,绘制 x 和 y 数据点。 - 使用
show()
功能显示图形
xlim()
Matplotlib 3d plot xlim
3D 散点图是一个数学图表,用于使用笛卡尔坐标将数据属性显示为三个变量。在 matplotlib 中创建 3D 散点图,我们必须导入 mplot3d
工具包。
在这里,我们学习使用 pyplot 模块的 xlim()
函数来设置 3d 绘图的 x 轴界限。
举例:
**# Import libraries**
from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
**# Create Figure**
fig = plt.figure(figsize = (10, 7))
ax = plt.axes(projection ="3d")
**# Define Data**
x = np.arange(0, 20, 0.2)
y = np.sin(x)
z = np.cos(x)
**# Create Plot**
ax.scatter3D(x, y, z)
**# Limit Axes**
plt.xlim(left= -15)
**# Show plot**
plt.show()
- 在上面的例子中,我们导入了 mplot3d 工具包、
numpy
和pyplot
库。 plt.figure()
方法用于设置图形尺寸这里我们将figsize
作为参数传递。plt.axes()
方法用于设置轴,这里我们将投影作为参数传递。- 接下来,我们使用
arange()
、sin()
和cos()
方法定义数据。 - 为了设置 x 轴极限,我们使用
plt.xlim()
函数。这里,我们将左侧值设置为-15,右侧值会自动调整。 ax.scatter3D()
方法用于创建三维散点图,这里我们传递x
、y
、z
作为参数。plt.show()
方法用于在用户屏幕上生成图形。
plt.xlim()
阅读: Matplotlib 条形图标签
Matplotlib 动画 xlim
这里我们将看到一个动画绘图的例子,我们通过使用 axes()
函数来设置 x 轴的限制。我们将 xlim
作为参数传递给轴函数。
举例:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
**# Create figure and axes**
fig = plt.figure()
ax = plt.axes(xlim=(0,4))
plot, = ax.plot([], [])
**# Define functions**
def init():
plot.set_data([], [])
return line,
def animate(i):
x = np.linspace(0, 4, 100)
y = np.sin(x*i)
plot.set_data(x, y)
return line,
**# Animation**
anim = FuncAnimation(fig, animate, init_func=init,
frames=200, interval=20, blit=True)
**# Save as gif**
anim.save('Animation Xlim.gif', writer='pillow')
- 我们导入
numpy
、matplotlib.pyplot
和动画库。 - 我们定义了
init
函数,它负责触发动画。init
函数设置轴边界并初始化数据。 - 然后我们定义动画函数,这个函数以帧号(I)为自变量,生成一个基于 I 移位的正弦波,这个函数返回一个变化了的剧情对象的元组,告诉动画框架剧情的哪些元素应该动画化。
- 通过使用动画。FuncAnimation() 方法我们给剧情添加动画。
- 然后,最后我们使用
save()
方法将一个情节保存为gif
。
plt.axes(xlim=())
读取: Matplotlib 绘图误差线
Matplotlib xlim errorbar
当我们用图形表示数据时,有些数据具有不规则性。为了表示这些不规则性或不确定性,我们使用误差棒。要设置 x 轴的极限,使用 pyplot 模块的 xlim()
功能。
举例:
**# Import Library**
import matplotlib.pyplot as plt
**# Define Data**
x= [2, 4, 6, 8, 10]
y= [9, 15, 20, 25, 13]
**# Plot error bar**
plt.errorbar(x, y, xerr = 0.5)
**# Limit x-axis**
plt.xlim(0,8)
**# Display graph**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
库。 - 然后我们定义 x 轴和 y 轴数据点。
plt.errorbar()
方法用于绘制误差线,我们传递参数 x,y,和xerr
,并设置 xerr 的值= 0。 5。- 为了设置 x 轴的极限,我们使用
xlim()
函数。这里的范围在 0 到 8 之间。 - 然后我们使用
plt.show()
方法显示误差棒图。
Plot with default axes
plt.xlim(0,8)
Matplotlib twiny xlim
在 matplotlib 中, twiny()
函数用于创建双轴。为了设置双 x 轴的极限,我们使用 set_xlim()
函数。
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.arange(100)
y = np.cos(x)
**# Plot Graph**
fig, ax1 = plt.subplots()
ax1.plot(x, y)
**# Define Labels**
ax1.set_xlabel('X1-axis')
ax1.set_ylabel('Y-axis')
**# Twin Axes**
ax2 = ax1.twiny()
ax2.set_xlim(-1,2)
ax2.set_xlabel('X2-Axis')
**# Display**
plt.show()
- 这里我们用相同的数据创建两个 x 轴,所以首先,我们导入 matplotlib。pyplot 和
numpy
库。 - 接下来,我们使用 numpy 的
arange()
和cos()
函数定义数据坐标。 - 为了绘制图表,我们使用 axes 模块的
plot()
函数。 - 为了在轴上设置标签,我们使用了
set_xlabel()
和set_ylabel()
函数。 - 为了创建一个双 x 轴,我们使用了
twiny()
函数。 - 为了设置 x 轴的极限,我们使用
set_xlim()
函数。
set_xlim()
Matplotlib xlim 子图
这里我们将讨论如果我们在一个图形区域中绘制多个图,我们如何改变特定子图的 x 轴限制。
举例:
**# Importing Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Create subplot**
fig, ax = plt.subplots(1, 2)
**# Define Data**
x1= [0.2, 0.4, 0.6, 0.8, 1]
y1= [0.3, 0.6, 0.8, 0.9, 1.5]
x2= [2, 6, 7, 9, 10]
y2= [3, 4, 6, 9, 12]
**# Plot graph**
ax[0].plot(x1, y1)
ax[1].plot(x2, y2)
**# Limit axes**
ax[1].set_xlim(0,10)
**# Add space**
fig.tight_layout()
**# Display Graph**
plt.show()
- 首先,我们导入
numpy
和matplotlib.pyplot
库。 - 在这之后,我们使用
subplots()
函数创建一个 subplots。 - 然后我们创建 x 和 y 数据坐标。
- 为了绘制图表,我们使用 axes 模块的
plot()
函数。 - 这里我们通过使用
set_xlim()
函数改变第一个子图的 x 轴极限。范围在 0 到 10 之间。 - 为了自动调整支线剧情之间的间距,我们使用了
tight_layout()
函数。 - 为了显示图表,我们使用了
show()
函数。
a[1].set_xlim()
Matplotlib xlim 日期时间
在这里,我们将看到一个例子,我们创建一个日期图,并手动设置他们的 x 轴限制。
举例:
**# Import Libraries**
import datetime
import matplotlib.pyplot as plt
**# Subplot**
fig, ax = plt.subplots()
**# Define Data**
x = [datetime.date(2021, 12, 28)] * 3
y = [2, 4, 1]
**# plot Date** ax.plot_date(x, y)
**# Auto format date**
fig.autofmt_xdate()
**# Set x-limits**
ax.set_xlim([datetime.date(2021, 12, 20),
datetime.date(2021, 12, 30)])
**# Display**
plt.show()
- 我们导入
datetime
和matplotlib.pyplot
库。 - 然后我们创建支线剧情,使用支线剧情()函数。
- 然后我们定义数据坐标。这里我们将 x 坐标设为日期。
- 为了绘制日期,我们使用
plot_date()
函数。 - 为了自动格式化 x 轴上的日期,我们使用了
autofmt_xdate()
函数。 - 为了设置 x 轴的极限,我们使用
set_xlim()
函数。 - 为了显示图表,我们使用了
show()
函数。
set_xlim()
你可能也喜欢阅读下面的 Matplotlib 教程。
- Matplotlib 虚线–完整教程
- Matplotlib plot _ date–完整教程
- Matplotlib 设定 y 轴范围
- Matplotlib 更新循环中的绘图
- Matplotlib 饼图教程
在本 Python 教程中,我们已经讨论了" Matplotlib xlim
"并且我们还介绍了一些与之相关的例子。这些是我们在本教程中讨论过的以下主题。
- Matplotlib xlim
- Matplotlib 调用 xlim
- Matplotlib xlim 左
- Matplotlib xlim 右
- Matplotlib xlim 对数标度
- Matplotlib 散点图 xlim
- Matplotlib xlim histogram
- matplotlib imshow xlim
- Matplotlib heatmap xlim
- Matplotlib xlim 填充
- Matplotlib 三维绘图 xlim
- Matplotlib 动画 xlim
- Matplotlib xlim errorbar
- Matplotlib twiny xlim
- Matplotlib xlim 子出图
- Matplotlib xlim 日期时间
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 中熊猫缺失的数据
在本机器学习教程中,我们学习了 Python 中熊猫的缺失数据。此外,我们已经讨论了这些主题。
- 熊猫缺失数据
- 熊猫数据帧中缺失的数据
- 缺失数据熊猫的时间序列
- 计算熊猫缺失的数据
- 删除熊猫中缺失的数据
- 对熊猫缺失数据进行插值
- 输入熊猫丢失的数据
目录
失踪的数据熊猫
- 缺失数据是指数据集中缺失的值。数据集是随着时间的推移记录的大量信息的集合。
- 这些信息可能与任何事情有关,如客户调查、植物、动物、昆虫、微生物、自然灾害、互联网活动等。
- 有各种网站可以下载数据集。几个例子是 Data.gov、谷歌公共、 Buzzfeed 新闻这
Kaggle
。com 是下载数据集的流行网站之一。 - 我们在 excel 或 CSV 文件中看到缺失数据的缺失空间,但是当使用 pandas 读取该数据时,它会在缺失数据的位置显示
NaN
。 - 以下是 CSV 文件中缺失数据的示例。
missing data in pandas
下面是一个使用 pandas 读取相同数据集的示例。你可以在空白的地方观察 NaN。
machine learning using python missing values in pandas
有各种内置函数来识别和处理丢失的数据。
| isnull(), notnull()
| 该函数用于识别数据集是否有缺失值。它们返回布尔值。 |
| dropna()
| 此函数删除缺少值的行。 |
| fillna()
| 该函数用提供的值填充缺少的值。 |
| replace()
| 该函数用提供的字替换 NaN
|
| interpolate()
| 此函数使用应用算法后生成的一些值来填充缺失的数据。最好使用插值而不是硬编码。 |
缺失数据熊猫数据帧
- 在本节中,我们将学习如何使用 DataFrame 创建和处理丢失的数据。
- Python 熊猫将
None
值视为缺失值,并指定NaN
代替它。 - 在数据帧中,我们可以通过使用
isnull()`, `notnull()
函数来识别缺失的数据。 isnull()
对所有缺失值返回 True】对所有占用值返回 False。notnull()
对于所有被占用的值返回 True,对于缺失的值返回 False。- 我们使用
dropna()
函数删除所有缺失数据的行。 replace()
功能用于将项目替换为名称或值。这需要两个流行的论点。- to_replace: 要更改的值
- 值:要提供的新值
- 这是所有提到的函数的表示。
模块“matplotlib”没有属性“artist”
原文:https://pythonguides.com/module-matplotlib-has-no-attribute-artist/
在本 Python 教程中,我们将讨论错误“模块' matplotlib '没有属性‘艺术家'”。在这里,我们将使用 matplotlib 来解释与此错误相关的原因。我们还将讨论以下主题:
- 模块 matplotlib 未安装
- matplotlib 模块中的问题
- 环境问题
目录
属性错误:模块“matplotlib”没有属性“artist”
错误#1:模块“matplotlib”未安装
这里我们要讨论的是错误属性错误:python 中模块' matplotlib '没有属性' artist' 。基本上,当我们导入 pandas 库时,就会出现这个错误声明。
原因:第一个原因可能是您的系统中没有安装 matplotlib。
现在我们来看看这个问题的解决方案:
Jupyter 笔记本:
- 使用 pip 命令安装 matplotlib。
语法:
pip install matplotlib
- 要检查它是否已安装,请检查其版本。
语法:
import matplotlib
print(matplotlib.__version__)
蟒蛇分布:
如果您的系统中有 Anaconda 提示符,您可以从这里使用下面提到的命令轻松安装 matplotlib。如果你不确定你是否有它,你可以很容易地在你的机器 Windows 开始菜单中看到它。
- 使用 conda 命令安装 matplotlib:
语法:
conda install matplotlib
- 要检查是否安装了 matplotlib,请检查其版本:
语法:
import matplotlib
print(matplotlib.__version__)
关于安装 matplotlib 的详细信息,请查看:如何安装 matplotlib python
错误# 2:matplotlib 模块中的问题
这里我们要讨论的是错误属性错误:python 中模块' matplotlib '没有属性' artist' 。
原因:模块‘matplotlib’安装不正确。
如果您确定 matplotlib 模块已经安装在您的系统中,但是您仍然面临上述属性错误。原因一定是,安装不正确。
我们来讨论一下解决方案:
Jupyter 笔记本:
- 取消所有已经安装的版本。
语法:
pip uninstall matplotlib
- 重新安装 matplotlib 模块:
语法:
pip install matplotlib
蟒蛇分布:
如果有 anaconda 提示符,请使用以下命令:
- 取消所有已经安装的版本。
语法:
conda uninstall matplotlib
- 重新安装 matplotlib 模块:
语法:
conda install matplotlib
另外,检查: modulenotfounderror:没有名为“matplotlib”的模块
错误#3:环境问题
如果你按照上面提到的错误原因和解决方案,你仍然有错误。那么可能是环境有问题。
让我们来看看这个问题的解决方案:
Jupyter 笔记本:
在 Juypter 笔记本中,要解决这个错误,我们必须重启内核。
按照以下步骤重启内核:
- 打开jupyter 笔记本。
- 点击 jupyter 菜单顶部的内核。
- 然后点击重启。
Kernel
Restart
这将重置您的笔记本并删除已定义的变量和方法。
蟒蛇分布:
在水蟒中,我们可以激活和关闭环境。因此,要激活环境,请遵循以下代码:
conda activate <envirinemnt name>
如果您不知道环境,请使用以下命令:
conda env list
在本 Python 教程中,我们已经讨论了"模块' matplotlib '没有属性' artist' "并且我们还讨论了与之相关的原因和解决方案。这些是我们在本教程中讨论过的以下主题。
- 模块 matplotlib 未安装
- matplotlib 模块中的问题
- 环境问题
你可能也喜欢阅读下面的 Matplotlib 教程。
- Matplotlib 绘制一条线(详细指南)
- Matplotlib fill _ between–完整指南
- Matplotlib tight _ layout–有用教程
- Matplotlib 未知投影‘3d’
- Matplotlib 目前正在使用 agg 非 gui 后端
- Matplotlib 1.3.1 需要未安装的 nose】
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“matplotlib”没有属性“plot”
原文:https://pythonguides.com/module-matplotlib-has-no-attribute-plot/
在本 Python 教程中,我们将讨论模块‘matplotlib’没有属性‘plot’。在这里,我们将使用 matplotlib 介绍与此错误相关的不同原因。我们将讨论以下主题:
- 安装问题:模块“matplotlib”没有属性“plot”
- 语法错误:模块“matplotlib”没有属性“plot”
目录
错误#1 安装问题:模块“matplotlib”没有属性“plot”
这里我们要讨论的是错误属性错误:python 中模块' matplotlib '没有属性' plot' 。所以在这里,你会在这里得到所有可能的原因和解决方法。
第一,原因可能是 matplotlib 安装不正确。
我们来看一个错误:
现在我们来看看这个问题的解决方案:
只需使用以下步骤安装 matplotlib:
- 使用 pip 命令安装 matplotlib:
语法:
pip install matplotlib
- 要检查 matplotlib 是否安装成功,请检查其版本。如果安装成功,将显示版本。
语法:
import matplotlib
print(matplotlib.__version__)
输出:
Install
Version
另外,查看关于如何安装 matplotlib python 的详细教程
错误#2 语法错误:模块“matplotlib”没有属性“plot”
如果 matplotlib 成功安装在您的系统中,但您仍然有一个属性错误:模块‘matplotlib’没有属性‘plot’。这意味着语法有问题,或者我们说有语法错误。
让我们看一个出错的例子:
源代码:
**# Import Library**
import matplotlib as plt
import numpy as np
**# Define Data Coordinate**
x = np.linspace(0,15,150)
y = np.sin(x)
**# Plot**
plt.plot(x,y)
**# Display**
plt.show()
Error
解决方案:
在上面的例子中出现这个错误是因为我们用来导入 matplotlib 库的语法不正确。
导入 matplotlib 库的正确语法如下:
import matplotlib.pyplot as plt
现在让我们用正确的语法再次看看上面的例子:
**# Import Library**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data Coordinate**
x = np.linspace(0,15,150)
y = np.sin(x)
**# Plot**
plt.plot(x,y)
**# Display**
plt.show()
输出:
Hurry!!! We’ll get the plot
另外,检查: modulenotfounderror:没有名为“matplotlib”的模块
结论:
我们必须导入 matplotlib.pyplot
模块,而不是 matplotlib
。
在本 Python 教程中,我们已经讨论了“模块 matplotlib 没有属性 plot"
,并且我们还讨论了与之相关的原因和解决方案。这些是我们在本教程中讨论过的以下主题。
- 安装问题:模块“matplotlib”没有属性“plot”
- 语法错误:模块“matplotlib”没有属性“plot”
还有,多看看一些相关的帖子。
- Python 使用 Matplotlib 绘制多条线
- Matplotlib 改变背景颜色
- Matplotlib 设定 y 轴范围
- 模块“matplotlib”没有属性“artist”
- Matplotlib 目前正在使用 agg 非 gui 后端
- Matplotlib 虚线–完整教程
- Matplotlib plot _ date–完整教程
- Matplotlib 另存为 pdf + 13 示例
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
AttributeError 模块对象在 Django 中没有属性
原文:https://pythonguides.com/module-object-has-no-attribute-in-django/
在这个 Python Django 教程中,我会解释如何解决 AttributeError 模块对象在 Django 中没有属性。
最近,当我在做一个 Django 项目时,我遇到了一个问题,我有一个错误“模块对象没有属性”。因此,在查看了多个解决方案后,我找到了一个帮助我解决这个问题的解决方案。
在这里我们将看到:
- 属性错误:模块对象在 Django 中没有属性
- Django 中属性错误“模块对象没有属性”的解决方案
目录
- AttributeError 模块对象在 Django 中没有属性
- 解决 Django 中“模块对象没有属性”的错误
- 结论
AttributeError 模块对象在 Django 中没有属性
最近,我在做 Django,我遇到了一个问题 Django 属性错误模块对象没有属性。在这个问题中,模块中缺少特定的属性。
通常,当我们定义的视图与 URL 路径不匹配时,就会出现这种错误。例如,我们在 views.py
中创建了一个名为‘home’的视图,并在 Django 的 app urls.py
中指定了其名为‘views . index’的路径。
下面是 Django 中出现“模块对象没有属性”错误的示例截图。
AttributeError in Python Django
Read: ModuleNotFoundError:没有名为 Django 的模块
解决 Django 中“模块对象没有属性”的错误
为了解决这个 Django AttributeError:模块对象没有属性。我们必须修改位于 app 目录中的 urls.py 的 URL 路径中定义的视图名称。
让我们看一个例子来清楚地理解这个概念。
在本例中,我将创建一个名为 AttributeErrorProject 的 Django 项目,其中包含一个名为 MyApp 的应用程序,以及一个名为 home 的基于函数的视图。
注意: 项目名称、app、视图取决于你的项目。我采取这种情况只是为了理解。
通过打开终端并输入以下命令,启动一个 Django 项目。这里, AttributeErrorProject
是 Django 项目的名称。
django-admin startproject AttributeErrorProject
它将创建一个名为 AttributeErrorProject
的文件夹,并在终端中输入下面的命令。
cd AttributeErrorProject
通过在终端中键入下面的命令,在这个项目文件夹中创建一个名为 MyApp
的 Django 应用程序。
python manage.py startapp MyApp
将应用名称添加到位于 settings.py
文件中的 INSTALLED_APP
列表中,以激活该应用。
Settings.py in django
默认情况下,Django 在项目目录中包含一个 urls.py
文件,用于将新构建的应用程序映射到其中。为此,在其中添加以下代码。
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('MyApp.urls')),
]
要定义应用程序的主要逻辑,打开 views.py
文件并添加下面给出的代码。
from django.shortcuts import HttpResponse
# Create your views here.
def home(request):
return HttpResponse('Welcome to PythonGuides!!!')
这里,我们创建了一个基于函数的视图 home,它返回 HttpResponse。
现在,我们必须用 URL 映射视图以便调用它,因此我们必须在 app 目录中创建一个名为 urls.py
的文件。包括下面的代码。
from django.urls import path
from MyApp import views
urlpatterns = [
path("", views.home, name="home"),
]
这里,我们将名为 home 的视图的路径指定为 views.home。
要启动开发服务器,请在终端中键入下面给出的命令。
python manage.py runserver
它将成功地打开页面并返回 HttpResponse,没有任何错误。
Solution of attribute error “module object has no attribute”
但是,如果我们在 urls.py 的路径中指定了不正确的视图名称,我们将得到 Django 属性错误“模块对象没有属性”。例如,我错误地将视图的名称指定为 urls.py 中的索引。
from django.urls import path
from MyApp import views
urlpatterns = [
path("", views.index, name="home"),
]
现在,启动开发服务器,看到它将产生一个错误 AttributeError:模块“MyApp.views”在 Django 中没有属性“index”,如下所示。
AttributeError module object has no attribute in Django
因此,通过在 urls.py 文件中指定视图的正确名称,我们可以解决上面定义的 Django 中的错误。
结论
至此,我们已经了解了如何解决与 Django 中的 AttributeError 模块对象没有属性相关的问题。此外,为了在 Python Django 中解决这个问题,我们介绍了一个分步过程。
此外,我们还讨论了以下主题。
- 属性错误模块对象在 Django 中没有属性
- AttributeError 模块对象的解决方案在 Django
中没有属性
您可能也喜欢阅读下面的 Python Django 教程。
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“tensorflow”没有属性“div”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-div/
在本 Python 教程中,我们将重点讨论如何修复属性错误:模块 tensorflow 在 TensorFlow 中没有属性 ' div '。此外,我们还将看一些如何在 TensorFlow
中使用 tf.div()
函数的示例。我们将讨论这些话题。
- Attributeerror:模块“tensorflow”没有属性“div”
- Attributeerror:模块“tensorflow”没有属性“dimension”
- Attributeerror:模块“tensorflow”没有属性“count _ 非零”
- Attributeerror:模块“tensorflow”没有属性“lin_space”
- Attributeerror:模块“tensorflow”没有属性“sigmoid”
- Attributeerror 模块“tensorflow”没有属性“placeholder”
- Attributeerror 模块“tensorflow”没有属性“isnan”
目录
- Attributeerror 模块“tensorflow”没有属性“div”
- 属性错误:模块“tensorflow”没有属性“dimension”
- 属性错误:模块“tensorflow”没有属性“count _ 非零”
- 属性错误:模块“tensorflow”没有属性“Lin _ space”
- 属性错误:模块“tensorflow”没有属性“Sigmoid”
- Attributeerror 模块“tensorflow”没有属性“placeholder”
- Attributeerror 模块“tensorflow”没有属性“isnan”
Attributeerror 模块“tensorflow”没有属性“div”
- 在本节中,我们将讨论如何解决没有属性“div”的 attributeerror 模块“tensorflow”。
- 使用 tf.div()函数对两个给定的输入张量进行逐个元素的划分。
举例:
import tensorflow as tf
tens_1 = tf.constant([36, 56, 21])
tens_2 = tf.constant([6, 8, 7])
result=tf.div(tens_1,tens_2)
print(result)
在下面给出的代码中,我们首先导入别名为“tf”的 TensorFlow 库,然后使用 tf.constant()
函数创建一个张量,在这个函数中,我们将整数作为参数。
接下来,我们使用了 tf.div()
函数,该方法在 Tensorflow 1.x 版本中可用,它不支持最新版本。
下面是以下给定代码的实现。
Attributeerror module ‘tensorflow’ has no attribute ‘div’
以下是此错误的解决方案。
语法:
下面是 Python TensorFlow 中 tf.math.divide()
函数的语法
tf.math.divide(
x, y, name=None
)
- 它由几个参数组成
x
:该参数定义了第一个输入张量。y
:该参数指定第二个输入张量。name
:默认不取值,指定操作的名称。
import tensorflow as tf
tens_1 = tf.constant([36, 56, 21])
tens_2 = tf.constant([6, 8, 7])
result=tf.divide(tens_1,tens_2)
print(result)
你可以参考下面的截图
Solution of attributeerror module ‘tensorflow’ has no attribute ‘div’
这就是我们解决 attributeerror 模块“tensorflow”没有属性“div”的方法。
阅读: TensorFlow Tensor to numpy
属性错误:模块“tensorflow”没有属性“dimension”
- 这里我们将使用 attributeerror 模块“tensorflow.math”没有属性“divide”。
- 张量在张量流的每一次计算中都要用到。张量是可以表示任何数据的 n 维向量或矩阵。张量的值都具有相同的数据类型和已知(或至少部分已知)的形状。
- 矩阵或数组的维数由数据的几何形状决定。
举例:
import tensorflow as tf
tens_1 = tf.constant([[36, 56, 21],[12,56,7]])
result=tf.dimension(tens_1)
print(result)
下面是以下给定代码的执行过程
attributeerror module tensorflow has no attribute dimension
以下是此错误的解决方案。
在本例中,我们将使用 tf.compat.v1.Dimension()
,它将表示 TensorShape 中一个维度的值。
阅读:Python tensor flow reduce _ sum
属性错误:模块“tensorflow”没有属性“count _ 非零”
- 使用此函数计算多维张量的非零元素计数。这个函数允许我们确定多维张量中非零元素的数量。
- 沿指定轴的给定张量中非零值的数量是函数的返回值。如果不是,则返回数组的非零值计数。
举例:
import tensorflow as tf
# Creation of input tensor
new_tens = tf.constant([16,0,24,78,0], dtype = tf.int32)
print("Input: ",new_tens)
new_output = tf.count_nonzero(new_tens)
# Display the Content
print("Number of non-zero elements: ",new_output)
在下面给出的代码中,我们首先将 TensorFlow 库作为 tf 导入,然后通过使用 tf.constant()
函数创建一个张量,在这个函数中,我们将整数值作为参数进行赋值。
之后,我们使用了TF . count _ 非零()函数,在这个函数中,我们将输入张量指定为一个参数。该功能将在 TensorFlow 1.x 版本中工作。
下面是以下给定代码的实现。
attributeerror module tensorflow has no attribute count_nonzero
此错误的解决方案。
在本例中,我们将使用 tf.math.count_nonzero()
函数,该函数生成输入张量维度上非零值的数量。
语法:
tf.math.count_nonzero(
input,
axis=None,
keepdims=None,
dtype=tf.dtypes.int64,
name=None
)
- 它由几个参数组成
- 输入:该参数减少张量。应为布尔值、字符串或数字类型。
- 轴:默认情况下,减少的尺寸不取值。如果没有(缺省值),则所有维度都将减少。范围[-等级(输入),等级(输入)]是必需的。
keepdims
:检查条件,如果为真,则减少长度为 1 的尺寸。dtype
:该参数指定输入张量的数据类型。- 名称:指定操作的名称。
import tensorflow as tf
# Creation of input tensor
new_tens = tf.constant([16,0,24,78,0], dtype = tf.int32)
print("Input: ",new_tens)
new_output = tf.math.count_nonzero(new_tens)
# Display the Content
print("Number of non-zero elements: ",new_output)
下面是以下给定代码的实现
Solution of attributeerror module tensorflow has no attribute count_nonzero
正如你在截图中看到的,我们已经解决了 attributeerror 模块 tensorflow 没有属性' count _ 非零'的错误解决方案。
属性错误:模块“tensorflow”没有属性“Lin _ space”
- 在本节中,我们将讨论如何求解没有属性“lin_space”的 attributeerror 模块 tensorflow。
- Linspace 用于在指定的时间间隔内创建均匀间隔的序列。
- TensorFlow linspace 函数生成在指定范围内均匀分布的值序列。
- 实质上,您提供了一个起点、一个终点以及您希望在该间隔内拥有的断点总数(包括起点和终点)。tf.linspace 函数将返回一系列等间距的值。
语法:
下面是 Python TensorFlow 中 tf.linspace()函数的语法
tf.linspace(
start, stop, num, name=None, axis=0
)
- 它由几个参数组成
start
:该参数定义了输入张量的起始值。stop
:指定输入张量的结束值。
注意:该功能在 tensorflow 1.x 和 2.x 版本中都有效。
举例:
import tensorflow as tf
# Creation of input tensors
new_start_val = tf.constant(12, dtype = tf.float64)
new_end_val = tf.constant(25, dtype = tf.float64)
num = 5
new_output = tf.linspace(new_start_val, new_end_val, num)
# Display the Content
print("Result: ", new_output)
在这个例子中,我们使用了 tf.linspace()函数,在这个函数中,我们为它分配了起始值和结束值。
你可以参考下面的截图
Solution of attributeerror module tensorflow has no attribute lin_space
这就是我们解决 attributerror 模块 tensorflow 没有属性 lin_space 的方法。
阅读:张量流乘法
属性错误:模块“tensorflow”没有属性“Sigmoid”
- 在本节中,我们将讨论 attributeerror 模块“tensorflow”没有属性“sigmoid”。
- 在二元分类问题中,当我们需要确定某个数据集属于某个特定类的可能性时,sigmoid 函数是最好的工具,它产生的结果在范围(0,1)内。在任何一点上,sigmoid 函数都可以求导,并产生其导数。
- sigmoid 函数有一个“消失梯度”问题,因为它在两端变平,导致反向传播过程中权重的变化非常小。这可能会导致神经网络陷入困境并停止适应。
举例:
import tensorflow as tf
# Creation of input tensor
new_tens = tf.constant([15.0, -13.5, 3.4, -42.1, 17.9, -34.5], dtype = tf.float32)
# By using the sigmoid() function
result = tf.Sigmoid(new_tens, name ='sigmoid')
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
下面是以下代码的截图
attributeerror module tensorflow has no attribute Sigmoid
以下是此错误的解决方案。
在这个例子中,我们将使用 tf.sigmoid()
函数,这个函数计算 x 元素的 sigmoid。
语法:
让我们看一下语法并理解 tf.sigmoid()函数的工作原理
tf.math.sigmoid(
x, name=None
)
- 它由几个参数组成
x
:该参数定义了将应用 sigmoid 函数的输入张量。name
:默认取 none 值,定义操作的名称。
Solution of attributeerror module tensorflow has no attribute Sigmoid
阅读:张量流均方误差
Attributeerror 模块“tensorflow”没有属性“placeholder”
- 当我们试图访问一个不存在的对象的属性时,我们会在 Python 程序中得到一个 AttributeError。语句“'模块' tensorflow '没有属性' placeholder '”通知我们,占位符属性在 TensorFlow 模块()中不存在。
- TensorFlow 1.x API 包含 placeholder()函数。在大多数情况下,如果 AttributeError 引用缺少属性的模块,则该功能要么以不同的名称为人所知,要么被弃用。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tensor=tf.placeholder(dtype=tf.int32,shape=(300,300))
print(new_tensor)
下面是以下给定代码的执行过程
attributeerror module tensorflow has no attribute placeholder
此错误的解决方案
原因:此错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.placeholder()
属性。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tensor=tf.compat.v1.placeholder(dtype=tf.int32,shape=(300,300))
print(new_tensor)
你可以参考下面的截图
Solution of attributeerror module tensorflow has no attribute placeholder
Attributeerror 模块“tensorflow”没有属性“isnan”
- Python 中内置的数学函数
isnan()
可以用来判断输入是否为合法数字。 - 要使用数学库的一部分
isnan()
函数,如果元素是 nan,则返回 true,否则返回 false。
举例:
import tensorflow as tf
import numpy as np
# Creation of input tensor
tens = tf.constant([16, 67, 34, 178, np.inf], dtype = tf.float64)
# Calculating the nan value
new_output = tf.is_nan(tens)
# Printing the result
print('Result: ', new_output)
下面是下面给出的代码的截图。
attributeerror module tensorflow has no attribute isnan
以下是此错误的解决方案。
import tensorflow as tf
import numpy as np
# Creation of input tensor
tens = tf.constant([16, 67, 34, 178, np.inf], dtype = tf.float64)
# Calculating the nan value
new_output = tf.math.is_nan(tens)
# Printing the result
print('Result: ', new_output)
在下面给出的代码中,我们首先使用 tf.constant()函数导入了输入张量,在这个函数中,我们将 datatype 指定为参数。
之后,我们使用了 tf.math.is_nan()
,在这个函数中,我们将输入张量作为参数传递。
下面是以下给定代码的执行。
Solution of attributeerror module tensorflow has no attribute isnan
您可能也喜欢阅读以下 Python TensorFlow 教程。
- Python TensorFlow 随机均匀
- TensorFlow Tensor to numpy
- 模块“张量流”没有属性“会话”
- 导入错误没有名为 TensorFlow 的模块
- 模块“tensorflow”没有属性“get _ variable”
在本 Python 教程中,我们重点讨论了如何修复 attributeerror:模块 tensorflow 在 TensorFlow 中没有属性 ' div' ,我们还将看一些如何在 TensorFlow
中使用 tf.div()
函数的示例。我们已经讨论了这些主题。
- Attributeerror:模块“tensorflow”没有属性“div”
- Attributeerror:模块“tensorflow”没有属性“dimension”
- Attributeerror:模块“tensorflow”没有属性“count _ 非零”
- Attributeerror:模块“tensorflow”没有属性“lin_space”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“tensorflow”没有属性“Function”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-function/
在本 Python 教程中,我们将重点讨论如何修复 属性错误:模块“tensorflow”在我们的模型中没有属性* *
【函数】 ,我们还将看一些如何在 TensorFlow
中使用*TF . Function()*
函数的例子。我们将讨论这些话题。
- Attributeerror:模块“tensorflow”没有属性“Function”
- Attributeerror:模块“tensorflow”没有属性“numpy function”
- Attributeerror:模块“tensorflow”没有属性“py_function”
目录
- 属性错误:模块“tensorflow”没有属性“Function”
- 属性错误:模块“tensorflow”没有属性“numpy _ Function”
- 属性错误:模块“tensorflow”没有属性“py _ func”
属性错误:模块“tensorflow”没有属性“Function”
- 在本节中,我们将讨论 attributeerror 模块“tensorflow”没有属性“function”。
- 您可以使用 tf.function()创建脚本图。它是一个转换工具,可以将你的 Python 代码转换成独立于 Python 的数据流图。为了使用 SavedModel,您必须这样做,这将有助于创建可移植的和有效的模型。
举例:
import tensorflow as tf
@tf.Function
def f():
return m ** 3 + n
m = tf.constant([-6, -7])
n = tf.Variable([7, -6])
f()
下面是以下给定代码的实现
Attributeerror module ‘tensorflow’ has no attribute ‘Function’
以下是此错误的解决方案。
在这个例子中,我们将使用 tf.function()
,这个函数用于将一个函数编译成一个可调用的张量流图。
语法:
下面是 Python TensorFlow 中 tf.function()
的语法
tf.function(
func=None,
input_signature=None,
autograph=True,
jit_compile=None,
reduce_retracing=False,
experimental_implements=None,
experimental_autograph_options=None,
experimental_relax_shapes=None,
experimental_compile=None,
experimental_follow_type_hints=None
)
- 它由几个参数组成
func
:待编译函数。在 func 为 None 的情况下,tf.function()
提供了一个只需要一个参数的装饰器:func。换句话说,TF . func(func,输入签名)和 TF . func(func,输入签名)是相等的。input_signature
:将要发送给这个函数的张量的形状和数据类型由一个可能的 tf 嵌套序列定义。TensorSpec 对象。对于每个推断的输入签名,如果没有,则创建一个单独的函数。如果给定了输入签名,func 的每个输入必须是张量;func 不能接受*** *克沃格**。- 自动签名:在绘制图形之前是否对 func 应用自动签名。Python 控制流语句依赖于数据需求,默认情况下
autograph=True
。 jit_compile
:如果为真,使用 XLA 编译函数。XLA 执行编译器优化,如融合,并试图发出更有效的代码。reduce _ retracting
:true 时tf.function()
尝试使用通用形状减少缩进的值。experimental_implements
:如果给定了的话,它实现的一个函数的名字作为说明。这作为属性保存在推理函数中,在处理序列化函数时可以找到。experimental _ autograph _ options
:可选参数,实验函数值。experimental_compile
:是 jit 编译,被该函数删除。
举例:
import tensorflow as tf
@tf.function
def f():
return m ** 3 + n
m = tf.constant([-6, -7])
n = tf.Variable([7, -6])
f()
在下面给出的代码中,我们首先导入了 tensorflow 库,然后使用了 tf.function()
并用 f()
名称定义了函数。接下来,我们将通过使用 tf.constant()
和 tf 来声明两个张量。变量()。
下面是以下给定代码的输出。
Solution of Attributeerror module ‘tensorflow’ has no attribute ‘Function’
这就是我们解决 attributeerror 模块“tensorflow”没有属性“Function”的方法。
属性错误:模块“tensorflow”没有属性“numpy _ Function”
- 这里我们将讨论 attributeerror 模块 tensorflow 没有属性‘numpy _ function’。
- 一个 Python 函数,将 numpy.ndarray 对象作为输入,并输出这些项目的列表(或单个 numpy。ndarray)。这个函数的参数类型必须与相关 tf 的参数类型相匹配,并且它必须接受与张量一样多的参数。
举例:
import tensorflow as tf
import numpy as np
def new_numpy_function(x):
return np.sinh(x)
@tf.function(input_signature=[tf.TensorSpec(None, tf.float32)])
def tf_function(input):
result = tf.numpy_Function(new_numpy_function, [input], tf.float32)
return result * result
tf_function(tf.constant(2.))
下面是以下给定代码的执行过程
Attributeerror module tensorflow has no attribute numpy_Function
以下是此错误的解决方案。
在这个例子中,我们将使用 tf.numpy_function()
,这个函数被封装在一个 python 函数中,用作 TensorFlow 操作。
语法:
tf.numpy_function(
func, inp, Tout, stateful=True, name=None
)
- 它由几个参数组成
func
:待编译函数。在 func 为 None 的情况下,tf.function()
提供了一个只需要一个参数的装饰器:func。换句话说,TF . func(func,输入签名)和 TF . func(func,输入签名)是相等的。inp
:是张量对象列表。Tout
:单个 tensorflow 数据类型,如果只有一个,或者 tensorflow 数据类型的列表或元组,指定函数返回。- 有状态:
- 默认情况下,需要真值和运行时才能将函数视为无状态。通过将此参数设置为 False,可以进行一些优化。
- 当给定相同的输入和输出时,无状态函数返回相同的结果,并且没有副作用;它的目的是有一个返回值。
- 给定有状态参数 False 时,有状态函数的行为是未指定的。因为这是一个有状态的过程,所以在修改输入参数时应该特别小心。
import tensorflow as tf
import numpy as np
def new_numpy_function(x):
return np.sinh(x)
@tf.function(input_signature=[tf.TensorSpec(None, tf.float32)])
def tf_function(input):
result = tf.numpy_function(new_numpy_function, [input], tf.float32)
return result * result
tf_function(tf.constant(2.))
在下面给出的代码中,我们首先导入了 tensorflow 库,然后定义了一个函数(new_numpy_function ),在这个函数中,我们为它分配了‘x’变量。
你可以参考下面的截图。
Solution of Attributeerror module tensorflow has no attribute numpy_Function
截图中可以看到,我们已经解决了 attributerror 模块 TensorFlow 没有属性 numpy_Function。
读取:属性错误:模块“tensorflow”没有属性“mul”
属性错误:模块“tensorflow”没有属性“py _ func”
- 可以使用 tf.py func()运算符在张量流图中执行任何 Python 代码。
- 这对于包装唯一的 NumPy 操作特别有用,因为目前没有可比较的 TensorFlow 操作符。图内的
Sess.run()
调用可以通过添加tf.py func()
来代替。
举例:
import tensorflow as tf
def numpy_new_func(n):
n[0] = 0.
return n
tf.py_func(numpy_new_func, inp=[tf.constant([2., 3.])],
Tout=tf.float32, stateful=False)
你可以参考下面的截图
Attributeerror module tensorflow has no attribute py_func
以下是此错误的解决方案。
在本例中,我们将使用 tf.compat.v1.py_func()
,它是一个接近但等价于包装函数的张量流张量,而不是 NumPy 数组,后者可以受益于加速器并提供梯度。
语法:
我们先来看看语法,了解一下在 Python TensorFlow 中 tf.compat.v1.py_func() 函数的工作原理。
tf.compat.v1.py_func(
func, inp, Tout, stateful=True, name=None
)
示例:
import tensorflow as tf
def numpy_new_func(n):
n[0] = 0.
return n
tf.compat.v1.py_func(numpy_new_func, inp=[tf.constant([2., 3.])],
Tout=tf.float32, stateful=False)
你可以参考下面的截图。
Solution of Attributeerror module tensorflow has no attribute py_func
这就是我们解决 attributeerror 模块 tensorflow 没有属性 py_func 的方法。
还有,多看看一些 Tensorflow 教程。
- TensorFlow 学习率调度器
- Tensorflow 将字符串转换为整型
- 批量归一化张量流
- TensorFlow feed_dict + 9 个例子
- tensor flow next _ batch+Examples
在本 Python 教程中,我们重点讨论了如何修复 属性错误:模块 tensorflow 在我们的模型中没有属性* *
【函数】 ,我们还将看一些如何在 TensorFlow
中使用 tf.function()
函数的例子。我们已经讨论了这些主题。
- Attributeerror:模块“tensorflow”没有属性“numpy function”
- Attributeerror:模块“tensorflow”没有属性“py_function”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“TensorFlow”没有属性“get_default_graph”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-get_default_graph/
在本 Python 教程中,我们将讨论错误“模块‘tensor flow’没有属性‘get _ default _ graph’”。在这里,我们将使用 TensorFlow 来解释与此错误相关的原因。我们还将讨论以下主题:
- 模块“TensorFlow”没有属性“get_default_graph”
- 模块“tensorflow”没有属性“get_variable”
- 模块“tensorflow”没有属性“get_default_session”
- 模块“tensorflow”没有属性“get _ default _ graph”keras
- 模块“tensorflow”没有属性“get_variable_scope”
- 模块“tensorflow”没有属性“get_shape”
- 模块“tensorflow”没有属性“get_tensor_by name”
- 模块“tensorflow”没有属性“make_tensor_proto”
- 模块“tensorflow”没有属性“get_collection”
- 模块“tensorflow”没有属性“mean_squared_error”
- 模块“tensorflow”没有属性“placeholder”
目录
- 模块' tensorflow '没有属性' get_default_graph'
- 模块“TensorFlow”没有属性“get _ variable”
- 模块“tensorflow”没有属性“get _ default _ session”
- 模块“tensorflow”没有属性“get _ variable _ scope”
- 模块“tensorflow”没有属性“get _ shape”
- 模块‘tensor flow’没有属性‘get _ tensor _ by name’
- 模块' tensorflow '没有属性' make_tensor_proto'
- 模块“tensorflow”没有属性“get _ collection”
- 模块‘tensor flow’没有属性‘mean _ squared _ error’
- 模块“张量流”没有属性“占位符”
模块' tensorflow '没有属性 ' get_default_graph'
在本节中,我们将讨论错误 AttributeError:模块' Tensorflow '在 Python 中没有属性' get_default_graph' 。
举例:
import tensorflow as tf
tensor1 = tf.Variable(4)
tensor2 = tf.Variable(6)
tensor3 = tf.Variable(3)
result = (tensor1 + tensor2) * tensor3
for result in tf.get_default_graph().get_operations():
print (result.name)
下面是以下给定代码的实现。
module ‘TensorFlow’ has no attribute ‘get_default_graph’
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块‘tensor flow’没有属性‘get _ default _ graph’。
原因:该错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.get_default_graph()属性。
现在让我们看看这个错误的解决方案
举例:
import tensorflow as tf
tensor1 = tf.Variable(4)
tensor2 = tf.Variable(6)
tensor3 = tf.Variable(3)
result = (tensor1 + tensor2) * tensor3
for result in tf.compat.v1.get_default_graph().get_operations():
print (result.name)
在下面给出的代码中,我们已经导入了 TensorFlow 库,然后使用 tf.variable()
函数创建了操作。之后,我们使用了TF . compat . v1 . get _ default _ graph()
函数并将结果变量存储为参数。
下面是以下给定代码的执行。
Solution of module ‘TensorFlow’ has no attribute ‘get_default_graph’
另外,请阅读:导入错误没有名为 TensorFlow 的模块
模块“TensorFlow”没有属性“get _ variable”
- 这里我们要讨论的是错误 Attributeerror 模块‘tensor flow’没有属性****【get _ variable】。
- 为了执行这个特定的任务,我们将使用
tf.get_variable()
函数,这个函数用于获取带有这些参数的给定变量。但该功能仅在 TensorFlow 1.x 版本中有效。 - 如果您要在
TensorFlow 2.x
版本上执行此函数,那么它将引发一个属性错误。
举例:
import tensorflow as tf
tensor = tf.get_variable(name='tens',shape=[1],dtype=tf.int32)
print(tensor)
下面是以下给定代码的实现。
module TensorFlow has no attribute get_variable
原因:此错误的原因是最新版本的 TensorFlow 中没有 tf.get_variable()
函数。
此错误代码的解决方案:
import tensorflow as tf
tensor = tf.compat.v1.get_variable(name='tens',shape=[1],dtype=tf.int32)
print(tensor)
在下面给定的代码中,我们创建了一个名为‘tensor’的变量,并为其分配了 tf . compat . v1 . get _ variable()
函数,在该函数中,我们为其分配了名称和 dtype
参数。
下面是下面给出的代码的截图。
Solution of module TensorFlow has no attribute get_variable
模块“tensorflow”没有属性“get _ default _ session”
- 在本节中,我们将讨论 Python 中的错误 AttributeError:模块' Tensorflow '没有属性' get_default_session' 。
- 为了完成这项任务,我们将使用
tf.get_default_session()
函数来创建会话。在本例中,我们将使用*
运算符执行乘法运算。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tens1 = tf.constant(38,dtype="int32",name="tens1")
tens2 = tf.constant(98,dtype="int32",name="tens2")
with tf.get_default_session() as val:
new_result=val.run(tens1*tens2)
print(new_result)
在上面的代码中,我们导入了 TensorFlow 库,然后使用了 tf.constant()
函数,在这个函数中,我们将值和类型指定为参数。
你可以参考下面的截图。
module TensorFlow has no attribute get_default_session
原因:此错误的原因是最新版本的 TensorFlow 中没有 tf.get_variable()
函数。
解决方案:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tens1 = tf.constant(38,dtype="int32",name="tens1")
tens2 = tf.constant(98,dtype="int32",name="tens2")
with tf.compat.v1.Session() as val:
new_result=val.run(tens1*tens2)
print(new_result)
下面是以下给定代码的实现。
Solution of module tensorflow has no attribute get_default_session
阅读: TensorFlow Tensor to NumPy
模块“tensorflow”没有属性“get _ variable _ scope”
- 这里我们要讨论的是错误 Attributeerror 模块‘tensor flow’没有属性****【get _ variable _ scope】。
- 通过使用
tf.get_variable_scope()
函数,我们可以很容易地得到变量的作用域。但是在这个程序中,这个函数不起作用,因为在Tensorflow 2.x
中不存在这个函数。
举例:
import tensorflow as tf
with tf.get_variable_scope('tens1'):
result = tf.zeros((), name='tens2')
print(result)
下面是下面给出的代码的截图。
module TensorFlow has no attribute get_variable_scope
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块‘tensor flow’没有属性‘get _ variable _ scope’。
R 原因:该错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.get_variable_scope()属性。
现在让我们来看看这个错误的解决方案。
解决方案:
import tensorflow as tf
with tf.compat.v1.variable_scope('tens1'):
result = tf.zeros((), name='tens2')
print(result)
在上面的代码中,我们导入了 TensorFlow 库,然后使用了TF . compat . v1 . variable _ scope()
函数,在这个函数中,我们指定了张量名称。
下面是以下给定代码的执行。
Solution of module TensorFlow has no attribute get_variable_scope
阅读:Python tensor flow reduce _ sum
模块“tensorflow”没有属性“get _ shape”
- 本节我们将讨论错误 AttributeError: 模块' Tensorflow '在 Python 中没有属性' get_shape' 。
- 为了完成这个任务,我们将使用
tf.get_shape()
函数,这个函数将帮助用户获得输入张量的形状。 - 但在这个程序中,这个功能在
Tensorflow 2.x
版本中不起作用。
举例:
import tensorflow as tf
tensor = tf.constant([[[15, 67, 89], [34, 27, 89]],
[[45, 89, 189], [68, 91, 46]]])
result=tf.get_shape(tensor)
result
下面是以下给定代码的实现。
module TensorFlow has no attribute get_shape
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块‘tensor flow’没有属性‘get _ shape’。
原因:该错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.get_shape()
属性。
解决方案:
import tensorflow as tf
tensor = tf.constant([[[15, 67, 89], [34, 27, 89]],
[[45, 89, 189], [68, 91, 46]]])
result=tf.shape(tensor)
result
下面是以下给定代码的执行。
Solution of module TensorFlow has no attribute get_shape
阅读:张量流均方误差
模块‘tensor flow’没有属性‘get _ tensor _ by name’
- 本节我们将讨论错误 AttributeError: 模块' Tensorflow '在 Python 中没有属性' get_tensor_by name' 。
- 为了执行这个特定的任务,我们将使用
tf.get_tensor_by_name()
,这个函数返回所有的张量名称。 - 这个函数在
TensorFlow 2.x
版本中并不存在,我们将使用TF . compat . v1 . get _ default _ graph()
函数。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tensor1 = tf.constant([[17, 18], [19, 20]])
tensor2 = tf.constant([[21, 22], [23, 24]])
tensor3 = tf.matmul(tensor1, tensor2, name='tens')
with tf.compat.v1.Session() as sess:
new_output = sess.run(tensor3)
print (tensor3.name)
new_output = tf.get_tensor_by_name("tens")
print (new_output)
下面是下面给出的代码的截图。
module TensorFlow has no attribute get_tensor_by-name
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块“tensor flow”没有属性“ get_tensor_by_name
”。
原因:该错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.get_tensor_by_name()
属性。
解决方案:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tensor1 = tf.constant([[17, 18], [19, 20]])
tensor2 = tf.constant([[21, 22], [23, 24]])
tensor3 = tf.matmul(tensor1, tensor2, name='example')
with tf.compat.v1.Session() as val:
result = val.run(tensor3)
print (tensor3.name)
result = tf.compat.v1.get_default_graph().get_tensor_by_name("example:0")
print (result)
在下面的代码中,我们导入了 TensorFlow 库,然后使用 tf.constant()
函数创建了张量。创建张量后,我们已经应用了 matmul()
函数进行乘法运算。
下面是以下给定代码的输出。
Solution of module TensorFlow has no attribute get_tensor_by name
模块' tensorflow '没有属性' make_tensor_proto'
- 这里我们要讨论的错误模块' TensorFlow '在 Python 中没有属性 'make_tensor_proto' 。
- 这个函数将帮助用户创建一个 TensorProto,它用于计算一个 numpy 数组。
举例:
import tensorflow as tf
new_val = tf.constant([[25,37,89],[56,14,90]])
result = tf.make_tensor_proto_(new_val)
print(result)
下面是下面给出的代码的截图。
module TensorFlow has no attribute make_tensor_proto
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块‘tensor flow’没有属性‘make _ tensor _ proto’。
解决方案:
import tensorflow as tf
new_val = tf.constant([[25,37,89],[56,14,90]])
result = tf.make_tensor_proto(new_val)
print(result)
在下面给定的代码中,我们导入了 TensorFlow 库,然后使用 tf.constant()函数创建了一个张量,在这个函数中,我们只给整数赋值。
创建张量后,我们使用了 tf.make_tensor_proto()函数,在这个函数中,我们将张量作为参数传递。
你可以参考下面的截图。
Solution of module TensorFlow has no attribute make_tensor_proto
阅读: Tensorflow 迭代张量
模块“tensorflow”没有属性“get _ collection”
- 在本节中,我们将讨论 Python 中的错误模块‘tensor flow’没有属性‘get _ collection’。
- 为了完成这个任务,我们将使用
tf.get_collection()
函数,这个函数使用默认的图形。
举例:
import tensorflow as tf
with tf.compat.v1.variable_scope('my_scope'):
tens = tf.Variable(0)
print (tf.get_collection(tf.compat.v1.GraphKeys.GLOBAL_VARIABLES, scope='my_scope'))
在上面的代码中,我们已经导入了 TensorFlow 库,然后使用了TF . compat . v1 . variable _ scope()
函数 ('my_scope') 。
下面是以下给定代码的实现。
module tensorflow has no attribute get_collection
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块‘tensor flow’没有属性‘get _ collection’。
原因:该错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.get_collection()
属性。
解决方案:
import tensorflow as tf
with tf.compat.v1.variable_scope('my_scope'):
tens = tf.Variable(0)
print (tf.compat.v1.get_collection(tf.compat.v1.GraphKeys.GLOBAL_VARIABLES, scope='my_scope'))
在下面给出的代码中,我们使用了TF . compat . v1 . get _ collection()
方法。
下面是以下给定代码的执行。
Solution of module tensorflow has no attribute get_collection
阅读:将列表转换为张量张量流
模块‘tensor flow’没有属性‘mean _ squared _ error’
- 在这里,我们将讨论 Python 中的错误模块“tensorflow”没有属性“mean_squared_error”。
- 为了执行这个特定的任务,我们将使用
tf.mean_squared_error()
函数,该函数用于插入给定标签和预测的平方和。
举例:
import tensorflow as tf
y_true = tf.constant([[4.6, 7.3, 3.2],
[4.1,5.8,7.2]])
y_pred = tf.constant([[2.4, 4.6, 9.7],
[1.2,2.3,1.6]])
result=tf.mean_squared_error(y_true,y_pred)
print("Reduce mean squared error:",result)
下面是下面给出的代码的截图。
module tensorflow has no attribute mean_squared_error
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块‘tensor flow’没有属性‘mean _ squared _ error’。
原因:该错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.mean_squared_error()
属性。
解决方案:
import tensorflow as tf
y_true = tf.constant([[4.6, 7.3, 3.2],
[4.1,5.8,7.2]])
y_pred = tf.constant([[2.4, 4.6, 9.7],
[1.2,2.3,1.6]])
result=tf.compat.v1.losses.mean_squared_error(y_true,y_pred)
print("Reduce mean squared error:",result)
在下面给出的代码中,我们使用了TF . compat . v1 . losses . mean _ squared _ error()
函数。
下面是以下给定代码的输出。
Solution of module tensorflow has no attribute mean_squared_error
模块“张量流”没有属性“占位符”
- 在本节中,我们将讨论 Python 中的错误模块“tensorflow”没有属性“placeholder”。
- 该函数用于提供操作数据并生成我们的计算图。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tens=tf.placeholder(dtype=tf.int32,shape=(300,300))
print(tens)
在上面的代码中,我们已经导入了 TensorFlow 库,然后使用TF . compat . v1 . disable _ eager _ execution()
函数创建了会话。
下面是以下给定代码的实现。
module tensorflow has no attribute placeholder
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块‘tensor flow’没有属性‘占位符’。
原因:此错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.placeholder()
属性。
解决方案:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tens=tf.compat.v1.placeholder(dtype=tf.int32,shape=(300,300))
print(tens)
下面是以下给定代码的执行。
Solution of module tensorflow has no attribute placeholder
另外,请查看以下 Python TensorFlow 教程。
- Python tensor flow expand _ dims
- Python TensorFlow one_hot
- 模块“tensorflow”没有属性“mul”
- 模块“tensorflow”没有属性“get _ variable”
- tensor flow clip _ by _ value–完整教程
在本教程中,我们已经涵盖了错误“模块‘tensor flow’没有属性‘get _ default _ graph’”。这里我们已经用 TensorFlow 解释了与这个错误相关的原因。我们还讨论了以下主题:
- 模块“TensorFlow”没有属性“get_default_graph”
- 模块“tensorflow”没有属性“get_variable”
- 模块“tensorflow”没有属性“get_default_session”
- 模块“tensorflow”没有属性“get _ default _ graph”keras
- 模块“tensorflow”没有属性“get_variable_scope”
- 模块“tensorflow”没有属性“get_shape”
- 模块“tensorflow”没有属性“get_tensor_by name”
- 模块“tensorflow”没有属性“make_tensor_proto”
- 模块“tensorflow”没有属性“get_collection”
- 模块“tensorflow”没有属性“mean_squared_error”
- 模块“tensorflow”没有属性“placeholder”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“tensorflow”没有属性“get_variable”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-get_variable/
在这个 Python 教程中,我们将重点关注如何修复 属性错误:模块 tensorflow 在我们的模型中没有属性‘get _ variable’,我们还将看一些如何在 TensorFlow
中使用*TF . get _ variable()*
函数的例子。我们将讨论这些话题。
- Attributeerror 模块“tensorflow”没有属性“get_variable”
- Attributeerror 模块“tensorflow”没有属性“get_variable_scope”
- Attributeerror 模块“tensorflow”没有属性“variable_scope”
- Attributeerror 模块“tensorflow”没有属性“variable”
- Attributeerror 模块“tensorflow”没有属性“variables_initializer”
- Attributeerror 模块“tensorflow”没有属性“report _ uninitialized _ variables”
- Attributeerror 模块“tensorflow”没有属性“trainable _ variables”
- Attributeerror 模块“tensorflow”没有属性“initalize _ all _ variables”
- Attributeerror 模块“tensorflow”没有属性“local_variables_initializer”
目录
- Attributeerror 模块“tensorflow”没有属性“get _ variable”
- Attributeerror 模块“tensorflow”没有属性“get _ variable _ scope”
- Attributeerror 模块“tensorflow”没有属性“variable _ scope”
- Attributeerror 模块' tensorflow '没有属性' variable'
- Attributeerror 模块“tensorflow”没有属性“variables _ initializer”
- Attributeerror 模块' tensorflow '没有属性' report _ initialized _ variables '
- Attributeerror 模块‘tensor flow’没有属性‘trainible _ variables’
- Attributeerror 模块“tensorflow”没有属性“initialize _ all _ variables”
- Attributeerror 模块“tensorflow”没有属性“local _ variables _ initializer”
Attributeerror 模块“tensorflow”没有属性“get _ variable”
- 这里我们要讨论的是错误 Attributeerror 模块‘tensor flow’没有属性****【get _ variable】。
- 而不是打电话给 tf。变量,使用函数 tf.get variable()获取或创建一个变量。与 tf 相反。变量,它直接传递值,利用初始化器。一个被称为初始化器的函数接受一个形状,并输出该形状的张量。下面是 TensorFlow 提供的几个初始化器。
示例:
import tensorflow as tf
new_tens = tf.get_variable(name='tens',shape=[2],dtype=tf.int32)
print(new_tens)
下面是下面给出的代码的截图。
Attributeerror module ‘tensorflow’ has no attribute ‘get_variable’
原因:此错误的原因是最新版本的 TensorFlow 中没有 tf.get_variable()
函数。
此错误代码的解决方案:
在这个例子中我们将使用TF . compat . v1 . get _ variable()
函数的概念。
语法:
下面是TF . compat . v1 . get _ variable()
函数的语法。
tf.compat.v1.get_variable(
name,
shape=None,
dtype=None,
initializer=None,
regularizer=None,
trainable=None,
collections=None,
caching_device=None,
partitioner=None,
validate_shape=True,
use_resource=None,
custom_getter=None,
constraint=None,
synchronization=tf.VariableSynchronization.AUTO,
aggregation=tf.compat.v1.VariableAggregation.NONE
)
- 它由几个参数组成
- 名称:指定操作的名称。
shape
:默认情况下,它不取值,定义输入张量的形状。dtype
:定义输入张量的数据类型。- 初始值设定项:如果创建了变量初始值设定项,就会使用它。可以是张量或初始化器对象。如果它是一个张量,那么它的形状必须是已知的,除非 validate shape 为假。
- 正则化子 : tf。GraphKeys 将收到将其应用于新形成的变量的结果。您可以使用正则化损失进行正则化。
- 可训练的:如果为真,将变量添加到 GraphKeys 集合中。可训练变量(参见 tf。变量)。
- 集合:添加变量的图形集合键列表。
import tensorflow as tf
new_tens = tf.compat.v1.get_variable(name='new_tens',shape=[2],dtype=tf.int32)
print(new_tens)
在上面的代码中,我们导入了别名为“tf”的 tensorflow 库,然后使用了 tf.compat.v1.get_variable()函数,在该函数中,我们将形状和数据类型指定为参数。
你可以参考下面的截图
solution of Attributeerror module tensorflow has no attribute get_variable
这就是我们解决 attributeerror 模块“tensorflow”没有属性“get_variable”的方法。
读取:属性错误:模块“tensorflow”没有属性“mul”
Attributeerror 模块“tensorflow”没有属性“get _ variable _ scope”
- 让我们讨论并了解如何解决错误 Attributeerror 模块‘tensor flow’没有属性****【get _ variable _ scope】。
- 通过使用
tf.get_variable_scope()
函数,我们可以很容易地得到变量的作用域。变量作用域提供检查以防止意外创建或共享,同时允许您共享已经生成的变量和创建新的变量。
举例:
import tensorflow as tf
with tf.get_variable_scope('new_tens_1'):
new_output = tf.zeros((), name='new_tens_2')
print(new_output)
下面是以下给定代码的实现
Attributeerror module tensorflow has no attribute get_variable_scope
原因:该错误的可能原因是 Tensorflow 最新版本(TensorFlow2.0)中没有 tf.get_variable_scope()属性。
现在让我们来看看这个错误的解决方案。
在这个例子中我们将使用TF . compat . v1 . get _ variable _ scope()
函数的概念
语法:
让我们看一下语法并理解 TF . compat . v1 . get _ variable _ scope()函数的工作原理
tf.compat.v1.get_variable_scope()
注意:它不带任何参数。
举例:
import tensorflow as tf
with tf.compat.v1.variable_scope('new_tens_1'):
new_output = tf.zeros((), name='new_tens_2')
print(new_output)
在上面的代码中,我们导入了 TensorFlow 库,然后使用了TF . compat . v1 . variable _ scope()
函数,在这个函数中,我们指定了张量名称。
下面是以下给定代码的实现
Solution of Attributeerror module tensorflow has no attribute get_variable_scope
正如你在截图中看到的,我们已经解决了 attributeerror 模块 tensorflow 没有属性 get_variable_scope。
Attributeerror 模块“tensorflow”没有属性“variable _ scope”
- 在本节中,我们将讨论如何解决属性错误模块' tensorflow '没有属性' variable_scope '。
- 为了执行这个特定的任务,我们将使用
tf.variable_scope()
函数,该函数仅在 tensorflow 1.x 版本中可用。
举例:
在上面的例子中,我们使用了 tf.variable_scope()函数,在这个函数中,我们提到了形状和数据类型作为参数。
Attributeerror module tensorflow has no attribute variable_scope
以下是此错误的解决方案
这里我们将使用TF . compat . v1 . variable _ scope()
函数。
语法:
tf.compat.v1.variable_scope(
name_or_scope,
default_name=None,
values=None,
initializer=None,
regularizer=None,
caching_device=None,
partitioner=None,
custom_getter=None,
reuse=None,
dtype=None,
use_resource=None,
constraint=None,
auxiliary_name_scope=True
)
- 它由几个参数组成
name_or_scope
:该参数定义了字符串或变量的作用域。default_name
:如果 name 或 scope 参数为 None,则默认使用的名称将是唯一的。名称或范围不是必需的,可以是 None,因为即使提供了也不会被使用。- 值:op 函数接收的张量的参数列表。
initializer
:默认情况下,它为这个范围内的变量取 none 值和 initializer。- 正则化正则化默认为该范围内的变量。
import tensorflow as tf
new_tens = tf.compat.v1.variable_scope(default_name='tens',values=[2,3],dtype=tf.int32, name_or_scope='tens')
print(new_tens)
你可以参考下面的截图
Solution of Attributeerror module tensorflow has no attribute variable_scope
这就是我们解决这个 attributeerror 模块 tensorflow 没有属性 variable_scope。
阅读:批量归一化张量流
Attributeerror 模块' tensorflow '没有属性' variable'
- 任何种类或形状的张量都可以用作 variable()函数对象(){[本机代码] }中变量的初始值。变量的初始值决定了它的类型和形状。
- 一旦建成,形状和变量不能改变。让我们来看几个 TensorFlow 变量创建示例。
- TensorFlow 中需要变量来表示深度学习模型的参数。基于张量的内存缓冲区称为张量流变量,在多次图形执行中是持久的。
- 变量的值会随着训练的进行而波动,每一个变化都会使模型更接近理想系统。
示例:
import tensorflow as tf
new_tens = tf.variable([2, 2])
print("The shape of the given variable: ",
new_tens.shape)
# The size of the variable
print("The size of the tensorflow variable:",
tf.size(new_tens).numpy())
下面是以下给定代码的实现。
attributeerror module tensorflow has no attribute variable
此错误的解决方案。
import tensorflow as tf
new_tens = tf.Variable([2, 2])
print("The shape of the given variable: ",
new_tens.shape)
# The size of the variable
print("The size of the tensorflow variable:",
tf.size(new_tens).numpy())
你可以参考下面的截图
Solution of Attributeerror module tensorflow has no attribute variable
阅读:张量流自定义损失函数
Attributeerror 模块“tensorflow”没有属性“variables _ initializer”
若要初始化全局变量,请使用 tf。全局变量初始化器()函数。若要初始化局部变量,请使用 tf。局部变量初始化器()函数。
举例:
import tensorflow as tf
new_tens = tf.variables_initializer(name='tens')
print(new_tens)
在本例中,我们使用了 tf.variables_initializer()函数,该函数在 tensorflow 1.x 版本中可用。
下面是以下给定代码的实现
Attributeerror module tensorflow has no attribute variables_initializer
以下是给定代码的解决方案
这里我们使用*TF . compat . v1 . variables _ initializer()*
函数
语法:
tf.compat.v1.variables_initializer(
var_list, name='init'
)
举例:
import tensorflow as tf
new_tens = tf.compat.v1.variables_initializer(var_list=[12,3,4],name='tens')
print(new_tens)
下面是以下给定代码的输出。
Solution of Attributeerror module tensorflow has no attribute variables_initializer
在上面的示例中,我们已经解决了 attributeerror 模块“tensorflow”没有属性“variables_initializer”。
阅读: TensorFlow 全球平均池
Attributeerror 模块' tensorflow '没有属性' report _ initialized _ variables '
在这个例子中,我们将使用 TF . report _ initialized _ variables()函数,在这个函数中,我们设置了 var_list 和张量的名称。
举例:
import tensorflow as tf
new_tens = tf.report_uninitialized_variables(var_list=[12,3,4],name='tens')
print(new_tens)
下面是以下给定代码的实现
Attributeerror module ‘tensorflow’ has no attribute ‘report_uninitialized_variables’
此错误的解决方案
import tensorflow as tf
new_tens = tf.compat.v1.report_uninitialized_variables(var_list=None,name='tens')
print(new_tens)
在这个例子中,我们已经使用了 TF . compat . v1 . report _ initialized _ variables()函数,如果有任何未初始化的变量,它将返回一个带有它们名称的一维张量;否则,它返回一个空数组。
下面是以下代码的截图
Solution of Attributeerror module tensorflow has no attribute report_uninitialized_variables
阅读:二元交叉熵张量流
Attributeerror 模块‘tensor flow’没有属性‘trainible _ variables’
- 模型中的所有可训练变量都由可训练变量返回。这里,“可训练的”指的是应该改进以提高模型有效性的变量。
- 当提供参数 trainable = True 时,Variable()函数对象会自动向图形集合 GraphKeys 添加新变量。可训练变量。该集合的内容由该函数返回。
举例:
import tensorflow as tf
tensor = tf.trainable_variables(scope=None)
print(tensor)
下面是以下给定代码的实现
Attributeerror module tensorflow has no attribute trainable_variables
原因:此错误的原因是最新版本的 TensorFlow 中没有TF . trainiable _ variables()
函数。
此错误代码的解决方案:
在本例中,我们将使用TF . compat . v1 . trainible _ variables()
函数的概念。
语法:
tf.compat.v1.trainable_variables(
scope=None
)
- 它只包含一个参数
scope
:可选参数,如果提供,re.match 用于过滤输出列表,使其只包含 name 属性匹配 scope 的对象。如果给定了范围,则不会返回没有名称属性的项。由于选择了 re.match,没有唯一标记的范围将按前缀进行筛选。
举例:
import tensorflow as tf
tensor = tf.compat.v1.trainable_variables(scope=None)
print(tensor)
这里我们使用了 TF . compat . v1 . trainiable _ variables()函数,这个函数在 tensorflow 最新版本 2.x 中可用。
你可以参考下面的截图
Solution of Attributeerror module tensorflow has no attribute trainable_variables
这就是我们如何解决这个属性错误模块“tensorflow”没有属性“trainable _ variables”。
阅读:模块' TensorFlow '没有属性' get_default_graph'
Attributeerror 模块“tensorflow”没有属性“initialize _ all _ variables”
- 在本节中,我们将讨论如何解决错误属性错误模块“tensorflow”没有属性“initalize _ all _ variables”。
- 为了执行此任务,我们将使用 tf.initialize_all_variables()函数的概念,此函数在 tensorflow 1.x 版本中可用。
举例:
import tensorflow as tf
tensor = tf.initialize_all_variables()
print(tensor)
下面是以下给定代码的输出。
Attributeerror module tensorflow has no attribute initalize_all_variables
以下是此错误的解决方案
import tensorflow as tf
tensor = tf.compat.v1.initialize_all_variables()
print(tensor)
你可以参考下面的截图。
Solution of Attributeerror module tensorflow has no attribute initalize_all_variables
阅读:张量流图-详细指南
Attributeerror 模块“tensorflow”没有属性“local _ variables _ initializer”
- 让我们讨论并了解如何解决错误 Attributeerror 模块‘tensor flow’没有属性****【local _ variables _ initializer】。
- 通过使用'
local _ variables _ initializer
函数,我们可以很容易地得到变量的作用域。变量作用域提供检查以防止意外创建或共享,同时允许您共享已经生成的变量和创建新的变量。
举例:
import tensorflow as tf
tensor = tf.local_variables_initializer()
print(tensor)
你可以参考下面的截图
Attributeerror module tensorflow has no attribute local_variables_initializer
解决办法
import tensorflow as tf
tensor = tf.compat.v1.local_variables_initializer()
print(tensor)
下面是以下给定代码的实现
Solution of Attributeerror module tensorflow has no attribute local_variables_initializer
还有,多看看一些 Python TensorFlow 教程。
在本 Python 教程中,我们重点介绍了如何修复属性错误:在我们的模型中,模块 tensorflow 没有属性‘get_
variable’,我们还将看一些如何在 TensorFlow
中使用 tf.get_variable()函数的示例。我们已经讨论了这些主题。
- Attributeerror 模块“tensorflow”没有属性“get_variable”
- Attributeerror 模块“tensorflow”没有属性“get_variable_scope”
- Attributeerror 模块“tensorflow”没有属性“variable_scope”
- Attributeerror 模块“tensorflow”没有属性“variable”
- Attributeerror 模块“tensorflow”没有属性“variables_initializer”
- Attributeerror 模块“tensorflow”没有属性“report _ uninitialized _ variables”
- Attributeerror 模块“tensorflow”没有属性“trainable _ variables”
- Attributeerror 模块“tensorflow”没有属性“initalize _ all _ variables”
- Attributeerror 模块“tensorflow”没有属性“local_variables_initializer”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“tensorflow”没有属性“log”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-log/
在本 Python 教程中,我们将讨论错误“模块‘tensor flow’没有属性‘log’”。我们还将讨论以下主题:
- Attributeerror 模块“tensorflow”没有属性“log”
- Attributeerror 模块“tensorflow”没有属性“logging”Bert
- Attributeerror 模块的 tensorflow。“Keras.backend”没有属性“logsumexp”
- Attributeerror 模块的 tensorflow。_api.v2.train '没有属性' loggingtensorhook 【T1 ' '
目录
- Attributeerror 模块“tensorflow”没有属性“log”
- Attributeerror 模块“tensorflow”没有属性“logging”Bert
- Attributeerror 模块' tensorflow。“Keras.backend”没有属性“logsumexp”
- Attributeerror 模块' tensorflow。_api.v2.train '没有属性' loggingtensorhook'
Attributeerror 模块“tensorflow”没有属性“log”
- 在本节中,我们将讨论错误 AttributeError:“模块‘tensor flow’在 Python 中没有属性‘session’。
- 为了执行这个任务,我们首先将导入带有 tf 别名的张量流库,其中
tf
代表张量流,用于数值计算问题。 - 接下来,我们将创建一个张量形式的变量,并分配一个
tf.constant()
函数。在 Python 中,这个函数采用一个常数值,表示不修改的值,它还初始化一个对象,如数组或列表。 - tensorflow.math 模块支持一些基本的数学运算。张量流函数
tf.log()
【别名tf.math.log
支持自然对数函数。它预期以浮点值或复数的形式输入,格式为a+bi
。 - 如果输入中有几个元素,则计算元素对数。输入类型是张量。
示例:
import tensorflow as tf
new_tens = tf.constant([-2.3, -5.3, 1.7, 1.4, 9], dtype = tf.float32)
result= tf.log(new_tens)
with tf.Session() as val:
new_output=val.run(result)
print(new_output)
在这个例子中,我们创建了一个张量,然后使用 tf.log()
函数来计算对数值。
下面是下面给出的代码的截图。
attributeerror module ‘tensorflow’ has no attribute ‘log’
此错误的解决方案。
在这个例子中,我们将使用 tf.math.log()
函数的概念,它将计算 x 元素的自然对数。
让我们看一下语法,了解一下 tf.math.log()
函数的工作原理
tf.math.log(
x, name=None
)
- 它由几个参数组成
x
:该参数为输入张量,必须为以下类型:float32、float 64、complex 128。- 名称:该参数指定操作的名称。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([-2.3, -5.3, 1.7, 1.4, 9], dtype = tf.float32)
result= tf.math.log(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
你可以参考下面的截图
Solution of attributeerror module tensorflow has no attribute log
正如你在截图中看到的,日志错误已经解决。
读取:属性错误:模块“tensorflow”没有属性“mul”
Attributeerror 模块“tensorflow”没有属性“logging”Bert
- 这里我们将讨论如何解决错误模块‘tensor flow’没有属性‘logging’Bert。
- 为了完成这个任务,我们将使用
tf.logging()
函数,但是这个方法只在 1.x 版本中可用,我们必须找到日志的值。首先,我们使用tf.constant()
函数创建了一个张量,并在这个函数中指定了数据类型。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([-2.3, -5.3, 1.7, 1.4, 9], dtype = tf.float32)
result= tf.logging(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
下面是以下给定代码的实现
Attributeerror module tensorflow has no attribute logging bert
Attributeerror 模块' tensorflow。“Keras.backend”没有属性“logsumexp”
- 要确定张量元素在其所有维度上的对数和 exp,请使用
tf.logSumExp()
函数。输入项沿着轴的维度减少。 - 如果参数“keep dims”为真,则减少的尺寸长度保持为 1;否则,张量的秩减少 1。如果轴参数没有条目,它将返回一个包含单个元素和所有缩减维度的张量。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([2,3,4,5,6,7], dtype = tf.int32)
result= tf.logsumexp(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
下面是以下代码的截图
Attributeerror module tensorflow.Keras_.backend has no attribute logsumexp
此错误的解决方案。
这里我们将使用TF . math . reduce _ logsumexp()
函数的概念,它将计算输入张量各维值的对数和 exp。
语法:
tf.math.reduce_logsumexp(
input_tensor, axis=None, keepdims=False, name=None
)
- 它由几个参数组成
input_tensor
:要约简的数值张量。- 轴:默认取无值,指定缩减尺寸。范围[-秩(输入张量),秩(输入张量) ]应该包含它的值。如果未提供值,则所有维度都会减少。
keepdims
: False 为其默认值。如果设置为 True,将保留长度为 1 的缩减维度。name
:可选参数,指定操作的名称。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([2.3,3.4,4.7,5.1,6.3,7.9], dtype = tf.float32)
result= tf.math.reduce_logsumexp(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
下面是以下给定代码的输出。
Solution of attributeerror module tensorflow.Keras_.backend has no attribute logsumexp
这就是我们解决 attributeerror 模块 tensorflow 的方法。Keras_backend 没有属性 logsumexp。
阅读: TensorFlow feed_dict + 9 个例子
Attributeerror 模块' tensorflow。_api.v2.train '没有属性' loggingtensorhook'
- 因为不支持按名称访问张量,所以建立一个自定义回调
(LoggingTensorCallback)
,在这里手动记录和输出记录的张量,以便复制 LoggingTensorHook 的行为。 - 日志记录频率也可以在自定义回调中使用。在下面的例子中,每两步打印一次重量。还有更多的操作可以使用,比如每 N 秒记录一次。
举例:
new_tens = {"probabilities": "softmax_tensor"}
new_logging_hook = tf.train.LoggingTensorHook(tensors=new_tens, every_n_iter=50)
print(new_logging_hook)
你可以参考下面的截图
attributeerror module tensorflow._api.v2.train has no attribute loggingtensorhook
此错误的解决方案。
在本例中,我们将使用TF . estimator . loggingtensorhook()
函数的概念,它将每 N 个本地步骤和每 N 秒打印一次输入张量。
语法:
tf.estimator.LoggingTensorHook(
tensors, every_n_iter=None, every_n_secs=None, at_end=False, formatter=None
)
- 它由几个参数组成
tensors
:tensors 和 tensor 名称的 iterable,或者将字符串值标签转换为 tensors 和 tensor 名称的 dict。every_n_iter
:对当前 worker,int 采取的每 N 个局部步长,打印张量的值。every_n_secs
:每 N 秒打印一次张量值,作为 int 或 float。每 n 个条目和每 n 秒应该正好有一个可用。at_end
: bool 表示是否在运行结束时打印张量值。- 格式化程序:默认情况下,它不取任何值,它将打印所有的张量。
举例:
new_tens = {"probabilities": "softmax_tensor"}
new_logging_hook = tf.estimator.LoggingTensorHook(tensors=new_tens, every_n_iter=50)
print(new_logging_hook)
下面是以下代码的截图
Solution of attributeerror module tensorflow._api.v2.train has no attribute loggingtensorhook
正如你在截图中看到的,我们已经解决了 loggingtensorhook 错误。
你可能也喜欢阅读下面的 TensorFlow 教程。
在本 Python 教程中,我们讨论了错误“模块‘tensor flow’没有属性‘log’”。我们还讨论了以下主题:
- Attributeerror 模块“tensorflow”没有属性“log”
- Attributeerror 模块“tensorflow”没有属性“logging”Bert
- Attributeerror 模块的 tensorflow。“Keras.backend”没有属性“logsumexp”
- Attributeerror 模块的 tensorflow。_api.v2.train '没有属性' loggingtensorhook 【T1 ' '
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Attributeerror:模块“tensorflow”没有属性“mul”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-mul/
在本 Python 教程中,我们将讨论错误“模块‘tensor flow’没有属性‘mul’”。我们还将讨论以下主题:
- Attributeerror 模块“tensorflow”没有属性“mul”
- Attributeerror 模块“tensorflow”没有属性“multinominal”
- Attributeerror 模块的 tensorflow。“Keras.layers”没有属性“multiheadattention”
- Attributeerror 模块的 tensorflow。_api.v2.distribute '没有属性' multiworkermirroredstrategy '
- Attributeerror 模块“tensorflow.compat.v1 .”没有属性“mul”
目录
- Attributeerror 模块“tensorflow”没有属性“mul”
- Attributeerror 模块“tensorflow”没有属性“多项”
- Attributeerror 模块' tensorflow。“Keras.layers”没有属性“multi head attention”
- Attributeerror 模块' tensorflow。_api.v2.distribute '没有属性' multiworkermirroredstrategy '
- Attributeerror 模块' tensorflow.compat.v1 . '没有属性' mul'
Attributeerror 模块“tensorflow”没有属性“mul”
- 在本节中,我们将讨论错误 AttributeError:“模块‘tensor flow’在 Python 中没有属性‘session’。
- 为了完成这项任务,我们首先将导入带有 tf 别名的 TensorFlow 库,其中 tf 代表 TensorFlow,用于数值计算问题。
- 接下来,我们将创建一个张量形式的变量,并分配一个
tf.constant()
函数。在 Python 中,这个函数采用一个常数值,表示不修改的值,它还初始化一个对象,如数组或列表。 - 在给定的例子中,我们已经指定了 scaler 值和数据类型作为参数。现在我们要把两个共享的变量相乘,分别命名为‘l’和‘m’。为了完成这个任务,我们首先学习
tf.session()
的概念。 - 在 Python 中,该函数用于在图形中执行一些操作。它将检查图的节点,在本例中,我们将创建类似于
tf.session()
的会话,并使用tf.session()
作为 Val 启动会话,其中 Val 是会话名称。
举例:
import tensorflow as tf
input_tensor_1 = tf.constant(67,dtype="int32",name="input_tensor_1")
input_tensor_2 = tf.constant(89,dtype="int32",name="input_tensor_2")
result= tf.mul(input_tensor_1,input_tensor_2)
with tf.Session() as val:
new_output=val.run(result)
print(new_output)
在这个例子中,我们首先使用 tf.constant()
函数创建了两个输入张量,在这个函数中,我们将整数值和数据类型指定为参数。接下来,我们使用 tf.mul()
函数将两个张量相乘。
下面是下面给出的代码的截图。
attributeerror module tensorflow has no attribute mul
正如您在截图中看到的,输出显示了错误属性错误:模块‘tensor flow’没有属性‘mul’。
原因:此错误的可能原因是 tf.session()
属性在 Tensorflow 的最新版本(TensorFlow2.0)中不可用,并且 tf.mul()
已从 tensorflow 2.x 的最新版本中折旧
现在让我们来看看这个问题的解决方案
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
input_tensor_1 = tf.constant(67,dtype="int32",name="input_tensor_1")
input_tensor_2 = tf.constant(89,dtype="int32",name="input_tensor_2")
result= tf.math.multiply(input_tensor_1,input_tensor_2)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
在上面的程序中,我们使用了 TF . compat . v1 . disable _ eager _ execution()函数,它用于困难的程序,可以在 TensorFlow2.0
中使用,代替 tf.session()
函数。
在最新的 2.0 版本中, tf.session()
已经被删除,如果您使用的是旧版本的 TensorFlow,那么它可以在复杂的程序中工作。
现在 eager_execution()
函数在 Tensorflow2.0
中工作,而不是在 session 中。与进程相比,此函数很简单,因为它在不创建图形的情况下执行操作。
你可以参考下面的截图
Solution of attributeerror module ‘tensorflow’ has no attribute ‘mul’
这就是我们如何解决错误属性错误模块“tensorflow”没有属性“mul”
Attributeerror 模块“tensorflow”没有属性“多项”
- 在本节中,我们将讨论错误属性错误模块“tensorflow”没有属性“multinominal”。
- 在这个例子中,我们将使用
tf.multinominal()
函数。此功能在 TensorFlow1.x
版本中可用,多项式模拟 n 次试验的结果,其中每次试验的结果遵循分类分布,例如重复投掷 k 面骰子时。
示例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
samples = tf.multinomial(tf.log([[10., 10.]]), 5)
with tf.compat.v1.Session() as val:
new_output=val.run(samples)
print(new_output)
你可以参考下面的截图
attributeerror module tensorflow has no attribute multinominal
此错误的解决方案
在本例中,我们将使用 multinominal 的最新版本,即TF . compat . v1 . multinominal()
,它在 TensorFlow 的最新版本中可用。
语法:
下面是 TensorFlow 中TF . compat . v1 . multinominal()
函数的语法
tf.compat.v1.multinomial(
logits, num_samples, seed=None, name=None, output_dtype=None
)
- 它由几个参数组成
logits
: 2-D【批量大小,数量类】形张量。每个切片代表所有类别的非标准化对数概率。num_samples
:一行中每片要抽取的独立样本数, 0 到 D 。- 种子:该参数用于定义分配的随机种子。
- 名称:该参数指定操作的名称,默认为无。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
samples = tf.compat.v1.multinomial(tf.math.log([[10., 10.]]), 5)
with tf.compat.v1.Session() as val:
new_output=val.run(samples)
print(new_output)
你可以参考下面的截图
Solution of attributeerror module tensorflow has no attribute multinominal
正如你在截图中看到的,错误已经解决。
阅读:批量归一化张量流
Attributeerror 模块' tensorflow。“Keras.layers”没有属性“multi head attention”
- 这里我们将讨论如何解决错误 attributeerror 模块 'tensorflow。“Keras.layers”没有属性“multiheadattention ”。
举例:
import tensorflow as tf
layer = tf.MultiHeadAttention(num_heads=2, key_dim=2, attention_axes=(2, 3))
input_tensor = tf.keras.Input(shape=[17, 28, 38, 89])
output_tensor = layer(input_tensor, input_tensor)
print(output_tensor.shape)
下面是以下代码的截图
attributeerror module tensorflow.Keras_.layers has no attribute multiheadattention
此错误的解决方案。
举例:
import tensorflow as tf
layer = tf.keras.layers.MultiHeadAttention(num_heads=2, key_dim=2, attention_axes=(2, 3))
input_tensor = tf.keras.Input(shape=[17, 28, 38, 89])
output_tensor = layer(input_tensor, input_tensor)
print(output_tensor.shape)
下面是以下给定代码的输出
Solution of attributeerror module tensorflow.Keras_.layers has no attribute multiheadattention
这就是我们解决 attributeerror 模块 tensorflow 的方法。Keras_。layers 没有 multiheadattention 属性。
阅读:张量流自定义损失函数
Attributeerror 模块' tensorflow。_api.v2.distribute '没有属性' multiworkermirroredstrategy '
- 在本节中,我们将讨论错误 AttributeError:“模块‘tensor flow’在 Python 中没有属性‘session’。
- 为了保持变量同步,它使用了 CollectiveOps 的多工作进程 all-reduce 实现。集合运算是张量流图中的单个运算,它允许张量流运行时根据硬件、网络拓扑和张量大小自动选择 all-reduce 算法。
Attributeerror 模块' tensorflow.compat.v1 . '没有属性' mul'
- 这里我们要讨论的是属性错误模块 'tensorflow.compat.v1 '没有属性' mul '。
- 为了完成这项任务,我们首先将导入带有 tf 别名的 TensorFlow 库,其中 tf 代表 TensorFlow,用于数值计算问题。
- 接下来,我们将创建一个张量形式的变量,并分配一个
tf.constant()
函数。在 Python 中,这个函数采用一个常数值,表示不修改的值,它还初始化一个对象,如数组或列表。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
input_tensor_1 = tf.constant([14,28,98,11],dtype="int32",name="input_tensor_1")
input_tensor_2 = tf.constant([15,34,24,5],dtype="int32",name="input_tensor_2")
result= tf.mul(input_tensor_1,input_tensor_2)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
在这个例子中,我们通过使用 tf.constant()
函数创建了一个张量,在这个函数中,我们设置了值列表以及数据类型‘int 32’。接下来,我们使用了 tf.mul()
函数,并将输入张量分配给它。TF . compat . v1 . disable _ eager _ execution()
函数,用于难度较大的程序,可以在 TensorFlow2.0
中使用,代替 tf.session()
函数。
下面是下面给出的代码的截图。
Attributeerror module tensorflow.compat.v1. has no attribute mul
此错误的解决方案。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
input_tensor_1 = tf.constant([14,28,98,11],dtype="int32",name="input_tensor_1")
input_tensor_2 = tf.constant([15,34,24,5],dtype="int32",name="input_tensor_2")
result= tf.math.multiply(input_tensor_1,input_tensor_2)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
你可以参考下面的截图。
Solution of Attributeerror module tensorflow.compat.v1.-has no attribute mul
正如您在屏幕截图中看到的,Attributeerror 模块 tensorflow.compat.v1 的错误已得到解决。-没有属性 mul。
您可能也喜欢阅读以下 Python TensorFlow 教程。
在本 Python 教程中,我们讨论了错误“模块‘tensor flow’没有属性‘mul’”。我们已经讨论了以下主题:
- Attributeerror 模块“tensorflow”没有属性“mul”
- Attributeerror 模块“tensorflow”没有属性“multinominal”
- Attributeerror 模块的 tensorflow。“Keras.layers”没有属性“multiheadattention”
- Attributeerror 模块的 tensorflow。_api.v2.distribute '没有属性' multiworkermirroredstrategy '
- Attributeerror 模块“tensorflow.compat.v1 .”没有属性“mul”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“tensorflow”没有属性“optimizers”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-optimizers/
在这个 Python 教程中,我们将重点关注如何修复 *属性错误:模块“tensorflow”在我们的模型中没有属性*
【优化器】,我们还将看一些如何在 TensorFlow
中使用优化器函数的例子。我们将讨论这些话题。
- Attributeerror 模块“tensorflow”没有属性“optimizers”
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有属性“rmsprop”
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有属性“adam”
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有“experimental”属性
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有属性“rectified adam”
- Attributeerror 模块的 tensorflow。“keras . optimizer . schedules”没有属性“cosine_decay”
- Attributeerror 模块“tensor flow . python . keras . optimizer”没有属性“sgd”
目录
- Attributeerror 模块“tensorflow”没有属性“optimizer”
- Attributeerror 模块' tensorflow。“Keras.optimizers”没有属性“rms prop”
- Attributeerror 模块“tensorflow”没有属性“Adam”
- Attributeerror 模块' tensorflow。“Keras.optimizers”没有“Experimental”属性
- Attributeerror 模块' tensor flow . addons . optimizer '没有属性' rectified adam'
- Attributeerror 模块' tensorflow '没有属性' cosine_decay'
- Attributeerror 模块' tensor flow . python . keras . optimizer '没有属性' sgd'
Attributeerror 模块“tensorflow”没有属性“optimizer”
- 为了最小化损失函数并更快地提高模型精度,优化器是通过调整各种参数和权重来减少损失(一种误差)的方法或算法。
- 优化器是扩展类的一个子类,包含用于训练特定模型的额外数据。重要的是要记住,不需要张量,优化器类是用提供的参数初始化的。优化人员正在努力提高特定模型的性能和速度。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.Variable(23, name = 'new_tens', dtype = tf.float32)
new_val = tf.compat.v1.log(new_tens)
new_log = tf.compat.v1.square(new_val)
optimizer = tf.Optimizer(0.5)
train = optimizer.minimize(new_log )
init = tf.compat.v1.initialize_all_variables()
def optimize():
with tf.compat.v1.Session() as session:
session.run(init)
print("x:", session.run(new_tens), session.run(new_log ))
for step in range(10):
session.run(train)
print("step", step, "x:", session.run(new_tens), session.run(new_log ))
optimize()
下面是以下给定代码的执行过程
Attributeerror module ‘tensorflow’ has no attribute ‘optimizers’
以下是此错误的解决方案。
在本例中,我们将使用 TF . compat . v1 . train . gradientdescentoptimizer()函数和执行梯度下降算法的函数优化器。
语法:
tf.compat.v1.train.GradientDescentOptimizer(
learning_rate, use_locking=False, name='GradientDescent'
)
- 它由几个参数组成
learning_rate
:该参数定义浮点值,是要使用的学习速率。use_locking
:检查条件是否成立,然后使用锁进行更新操作。name
:默认情况下,它采用‘gradient descent’值并指定操作的名称。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.Variable(23, name = 'new_tens', dtype = tf.float32)
new_val = tf.compat.v1.log(new_tens)
new_log = tf.compat.v1.square(new_val)
optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(new_log )
init = tf.compat.v1.initialize_all_variables()
def optimize():
with tf.compat.v1.Session() as session:
session.run(init)
print("x:", session.run(new_tens), session.run(new_log ))
for step in range(10):
session.run(train)
print("step", step, "x:", session.run(new_tens), session.run(new_log ))
optimize()
你可以参考下面的截图
Solution of Attributeerror module ‘tensorflow’ has no attribute ‘optimizers’
这就是我们如何解决 attributeerror 模块“tensorflow”没有属性“optimizers”。
Attributeerror 模块' tensorflow。“Keras.optimizers”没有属性“rms prop”
- 在本节中,我们将讨论如何求解 attributeerror 模块 tensorflow。Keras.optimizers 没有属性“rmsprop”。
- 为了训练神经网络,RMSprop 是一种基于梯度的优化方法。随着数据通过神经网络等极其复杂的过程,梯度有消失或扩大的趋势(参见消失梯度问题)。提出了一种用于小批量学习的随机方法 Rmsprop。
- 深度学习的粉丝中最受欢迎的优化器之一是 prop 女士。这可能是因为,虽然没有出版,但它在附近是众所周知的。
举例:
from keras import layers
from keras import models
from tensorflow.keras import optimizers
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu',
input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.summary()
from keras import optimizers
model.compile(loss='binary_crossentropy', optimizer=optimizers.RMSprop(lr=1e-4), metrics=['acc'])
下面是以下给定代码的实现
Attributeerror module tensorflow.Keras_.optimizers has no attribute rmsprop
此错误的解决方案。
在本例中,我们将使用 TF . optimizer . rms prop()函数。
语法:
tf.keras.optimizers.RMSprop(
learning_rate=0.001, rho=0.9, momentum=0.0, epsilon=1e-07, centered=False,
name='RMSprop', **kwargs
)
示例:
from keras import layers
from keras import models
from keras import optimizers
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu',
input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.summary()
from keras import optimizers
model.compile(loss='binary_crossentropy', optimizer=keras.optimizers.RMSprop(learning_rate=0.01))
下面是以下给定代码的实现。
Solution of Attributeerror module tensorflow.Keras_.optimizers has no attribute rmsprop
正如你在截图中看到的,我们已经解决了 attributeerror 模块 tensorflow。Keras.optimizers 没有 rmsprop 属性。
阅读:模块“tensorflow”没有属性“truncated _ normal”
Attributeerror 模块“tensorflow”没有属性“Adam”
- Adam 是目前使用的最流行的优化方法之一。这种方法确定了每个参数的自适应学习率。
- 这种方法结合了 momentum 和 RMSprop 的优点。即存储先前平方梯度以及先前梯度的衰减平均值。
举例:
import tensorflow as tf
new_optimizer = tf.Adam(learning_rate=0.1)
new_var = tf.Variable(10.0)
loss = lambda: (new_var ** 3)/2.0
step_count = new_optimizer.minimize(loss, [new_var]).numpy()
new_var.numpy()
下面是以下代码的截图
Attributeerror module tensorflow have no attribute adam
此错误的解决方案。
在这个例子中,我们将使用 tf。这个函数可以优化算法。
语法:
tf.keras.optimizers.Adam(
learning_rate=0.001,
beta_1=0.9,
beta_2=0.999,
epsilon=1e-07,
amsgrad=False,
name='Adam',
**kwargs
)
- 它由几个参数组成
learning_rate
=是 TF . keras . optimizer . schedules、浮点值或张量的调度。LearningRateSchedule 或返回实际值的 callable,不接受任何参数。学习标准值的速度为 0.001。beta
_1:要使用的实际值、浮点值、常量浮点张量或不接受参数的可调用函数。第一时刻的估计指数下降率。默认情况下,0.9。amsgrad
:默认情况下,它采用 false 值,并应用算法的 amsgrad 变体。name
:该参数指定操作的名称,默认取‘Adam’。
import tensorflow as tf
new_optimizer = tf.keras.optimizers.Adam(learning_rate=0.1)
new_var = tf.Variable(10.0)
loss = lambda: (new_var ** 3)/2.0
step_count = new_optimizer.minimize(loss, [new_var]).numpy()
new_var.numpy()
你可以参考下面的截图。
Solution of Attributeerror module tensorflow has no attribute adam
这就是我们解决 attributeerror 模块 tensorflow 没有属性 adam 的方法。
Attributeerror 模块' tensorflow。“Keras.optimizers”没有“Experimental”属性
- 这表明正在讨论的类或方法是未完成的,处于开发的早期阶段,或者,不经常地,不符合标准。
- 这是一个用户贡献的集合,仍然可以作为测试和反馈的开源资源,即使它们没有与核心 TensorFlow 完全集成。
语法:
下面是TF . keras . optimizer . experimental . optimizer()
函数的语法
tf.keras.optimizers.experimental.Optimizer(
name,
clipnorm=None,
clipvalue=None,
global_clipnorm=None,
use_ema=False,
ema_momentum=0.99,
ema_overwrite_frequency=None,
jit_compile=True,
**kwargs
)
- 它由几个参数组成
name
:优化器生成的动量累加器权重的术语。clipnorm
: Float。如果设置,每个权重的梯度被单独剪裁,以使其范数不高于该值。clipvalue
:如果设置,每个权重的梯度被裁剪为不高于该值。
举例:
import tensorflow as tf
new_optimizer = tf.keras.optimizers.Experimental.SGD(learning_rate=1, clipvalue=1)
var1, var2 = tf.Variable(2.0), tf.Variable(2.0)
with tf.GradientTape() as tape:
loss = 2 * var1 + 2 * var2
grads = tape.gradient(loss, [var1, var2])
print([grads[0].numpy(), grads[1].numpy()])
你可以参考下面的截图
Attributeerror module tensorflow.Keras_.optimizers has no attribute Experimental
正如你在截图中看到的,我们已经解决了 attributeerror 模块 tensorflow。Keras.optimizers 没有 Experimental 属性。
阅读: TensorFlow 全连通层
Attributeerror 模块' tensor flow . addons . optimizer '没有属性' rectified adam'
- 在本节中,我们将讨论如何求解 attributeerror 模块 tensorflow。“Keras.optimizers”没有属性“rectified adam”。
- 修正的 Adam,通常称为 RAdam,是一种随机优化器变体,它添加了一个项来修正自适应学习率的方差。它试图解决亚当的可怕的趋同问题。
举例:
import tensorflow as tf
import tensorflow_addons as tfa
new_random = tfa.optimizers.rectifiedAdam()
new_output= tfa.optimizers.Lookahead(new_random, sync_period=6, slow_step_size=0.5)
print(new_output)
下面是以下给定代码的实现
Attributeerror module tensorflow.addons.optimizers has no attribute rectified adam
此错误的解决方案
在本例中,我们将使用 tensor flow . addons . optimizer()函数
语法:
下面是 Python TensorFlow 中 tensor flow . addons . optimizer()函数的语法
tfa.optimizers.RectifiedAdam(
learning_rate: Union[FloatTensorLike, Callable, Dict] = 0.001,
beta_1: tfa.types.FloatTensorLike = 0.9,
beta_2: tfa.types.FloatTensorLike = 0.999,
epsilon: tfa.types.FloatTensorLike = 1e-07,
weight_decay: Union[FloatTensorLike, Callable, Dict] = 0.0,
amsgrad: bool = False,
sma_threshold: tfa.types.FloatTensorLike = 5.0,
total_steps: int = 0,
warmup_proportion: tfa.types.FloatTensorLike = 0.1,
min_lr: tfa.types.FloatTensorLike = 0.0,
name: str = 'RectifiedAdam',
**kwargs
)
- 它由几个参数组成
- learning_rate:是张量或浮点值。
beta_1
:浮点量或固定浮点张量。一阶矩指数递减率的估计。beta_2
:浮点量或固定浮点张量。二阶矩指数下降率的估计。weight_decay
:张量或浮点值或时间表,是每个自变量的权重衰减。amsgrad
:是否应用算法的 amsgrad 变体,然后 threshold 简单计算平均平均值。warmup_proportion
:浮点值。min_lr
:浮点值,最小学习值。
import tensorflow as tf
import tensorflow_addons as tfa
new_random = tfa.optimizers.RectifiedAdam()
new_output= tfa.optimizers.Lookahead(new_random, sync_period=6, slow_step_size=0.5)
print(new_output)
下面是以下给定代码的实现。
Solution of Attributeerror module tensorflow.addons.optimizers has no attribute rectified adam
这就是我们如何解决 attributeerror 模块 tensor flow . addons . optimizer 没有纠正 adam。
阅读:批量归一化张量流
Attributeerror 模块' tensorflow '没有属性' cosine_decay'
- 本节我们将讨论如何解决 attributeerror 模块' tensorflow '没有属性' cosine_decay '。
- 随着模型训练的进展,经常建议降低学习速率。当给定初始学习率时,该函数应用余弦衰减函数。
- 为了计算衰减学习率,需要一个全局步长值。可以使用在每个训练步骤中递增的张量流变量。
举例:
import tensorflow as tf
result= tf.cosine_decay(learning_rate=0.01,decay_steps=6.5,global_step=12.8)
print(result)
下面是以下代码的截图
Attributeerror module tensorflow has no attribute cosine_decay
此错误的解决方案。
在本例中,我们将使用TF . compat . v1 . train . cosine _ decay()
函数,该函数将余弦衰减应用于学习率。
语法:
下面是 TF . compat . v1 . train . cosine _ decay()函数的语法
tf.compat.v1.train.cosine_decay(
learning_rate, global_step, decay_steps, alpha=0.0, name=None
)
- 它由几个参数组成
learning _ rate
:Python 整数、标量 float32 或 float64 张量等。最初学习的速度。global _ step
:Python 数,标量 int32 或 int64,或者张量。要计算衰减,请使用全局步长。decay _ steps
:Python 数,标量 int32 或 int64,或者张量。衰减阶段的数量。alpha
:默认取 0.0 值,指定最小学习率值为 learning_rate 的分数。
import tensorflow as tf
result= tf.compat.v1.train.cosine_decay(learning_rate=0.01,decay_steps=6.5,global_step=12.8)
print(result)
你可以参考下面的截图
Solution of Attributeerror module tensorflow has no attribute cosine_decay
阅读: TensorFlow feed_dict + 9 个例子
Attributeerror 模块' tensor flow . python . keras . optimizer '没有属性' sgd'
- 这里我们将讨论如何解决 attributeerror 模块' tensor flow . python . keras . optimizer '没有属性' sgd '。
- 术语“随机”是指与随机概率相关的过程或系统。因此,在随机梯度下降中,每次迭代都随机选择少量样本,而不是整个数据集。
- 用于计算每次迭代梯度的数据集样本数在梯度下降中称为“批次”,这是短语的复数形式。传统梯度下降优化(如批次梯度下降)中的批次被假定为整个数据集。
举例:
from keras import layers
from keras import models
from tensorflow.keras import optimizers
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu',
input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.summary()
from keras import optimizers
model.compile(loss='binary_crossentropy', optimizer=optimizers.sgd(lr=1e-4), metrics=['acc'])
下面是以下给定代码的实现
Attributeerror module tensorflow.python.Keras_.optimizers has no attribute sgd
此错误的解决方案
from keras import layers
from keras import models
from tensorflow.keras import optimizers
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu',
input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.summary()
from keras import optimizers
model.compile(loss='binary_crossentropy', optimizer=optimizers.sgd(lr=1e-4), metrics=['acc'])
你可以参考下面的截图
Solution of Attributeerror module tensorflow.python.Keras_.optimizers has no attribute sgd
这就是我们解决 attributerror 模块“tensor flow . python . keras . optimizer”没有属性“sgd”的方法。
还要看下面的 Python 中的 TendorFlow 教程。
在本 Python 教程中,我们重点讨论了如何修复 *属性错误:模块“tensorflow”在我们的模型中没有属性*
【优化器】,我们还将看一些如何在 TensorFlow
中使用优化器函数的示例。我们已经讨论了这些主题。
- Attributeerror 模块“tensorflow”没有属性“optimizers”
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有属性“rmsprop”
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有属性“adam”
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有“experimental”属性
- Attributeerror 模块的 tensorflow。“Keras.optimizers”没有属性“rectified adam”
- Attributeerror 模块的 tensorflow。“keras . optimizer . schedules”没有属性“cosine_decay”
- Attributeerror 模块“tensor flow . python . keras . optimizer”没有属性“sgd”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“TensorFlow”没有属性“session”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-session/
在本 Python 教程中,我们将讨论错误“模块‘tensor flow’没有属性‘session’”。我们还将讨论以下主题:
- attributeerror 模块“tensorflow.keras.backend”没有属性“get_session”
- attributeerror 模块“tensorflow.compat.v2”没有属性“session”
目录
- AttributeError "模块' Tensorflow '没有属性' session'"
- Attributeerror 模块' tensorflow.compat.v2 '没有属性' session'
- Attributeerror 模块' tensorflow.keras.backend '没有属性' get_session'
AttributeError "模块' Tensorflow '没有属性' session'"
- 在本节中,我们将讨论错误 AttributeError:“模块‘tensor flow’在 Python 中没有属性‘session’。
- 为了完成这项任务,我们将首先导入带有 tf 别名的 TensorFlow 库,其中 tf 表示 TensorFlow ,它用于数值计算问题。接下来,我们将创建一个张量形式的变量,并分配一个
tf.constant()
函数。在 Python 中,这个函数接受一个常量值,该常量值表示不修改的值,它还初始化一个对象,如数组或列表。 - 在给定的例子中,我们已经指定了 scaler 值和数据类型作为参数。现在我们将把给定的两个变量相乘,分别命名为‘l’和‘m’。为了完成这个任务,我们首先学习
tf.session()
的概念。在 Python 中,该函数用于在图形中执行一些操作。它将检查图的节点,在本例中,我们将创建类似于tf.session()
的会话,并使用tf.session()
作为 Val 启动会话,其中 Val 是会话名称。 - 这里我们将在节点
new_output
应用数学运算(乘法)。为了运行这个会话,我们将使用val.run()
语法。在这个参数中,我们将使用乘法运算。
举例:
import tensorflow as tf
l = tf.constant(23,dtype="int32",name="val1")
m = tf.constant(22,dtype="int32",name="val2")
with tf.Session() as val:
new_output=val.run(l*m)
print(new_output)
下面是以下代码的截图
AttributeError module Tensorflow has no attribute session
正如您在屏幕截图中看到的,输出显示错误 AttributeError:模块“tensor flow”没有属性“session”。
原因:此错误的可能原因是 Tensorflow 的最新版本(TensorFlow2.0)中没有 tf.session()属性。
现在让我们来看看这个问题的解决方案
解决方案:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
l = tf.constant(23,dtype="int32",name="val1")
m = tf.constant(22,dtype="int32",name="val2")
with tf.compat.v1.Session() as val:
new_output=val.run(l*m)
print(new_output)
在上面的程序中,我们使用了 TF . compat . v1 . disable _ eager _ execution()函数,它用于困难的程序,可以在 TensorFlow2.0 中代替 tf.session()函数使用。
在最新版本 2.0 中,tf.session()已被删除,如果您使用的是旧版本的 TensorFlow,则它可以在复杂程序中工作。
现在 eager_execution()函数在 Tensorflow2.0 中工作,而不是 session。与进程相比,此函数很简单,因为它在不创建图形的情况下执行操作。
下面是以下给定代码的实现
Solution of AttributeError module Tensorflow has no attribute session
同样,检查:张量流得到形状
Attributeerror 模块' tensorflow.compat.v2 '没有属性' session'
- 在本节中,我们将讨论错误属性错误模块 tensorflow compat v2 没有属性会话。
- 在本例中,我们将使用
tf.compat.v2.session()
函数。该功能在 TensorFlow1.x
版本中提供,用于检查 Api 的兼容性。
举例:
import tensorflow as tf
tf.compat.v2.session()
c = tf.constant(43,dtype="int32",name="val1")
d = tf.constant(67,dtype="int32",name="val2")
with tf.compat.v2.Session() as val:
new_output=val.run(c*d)
print(new_output)
下面是以下给定代码的执行过程
attributeerror module TensorFlow compat v2 has no attribute session
正如您在屏幕截图中看到的,输出显示属性错误模块 TensorFlow compat v2 没有属性会话
原因:在 TensorFlow 2.0 版本中,compact v2 不可用,因此您必须使用 compact v1 . disable _ eager _ execution()函数。
以下是此错误的解决方案
代码:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
c = tf.constant(43,dtype="int32",name="val1")
d = tf.constant(67,dtype="int32",name="val2")
with tf.compat.v1.Session() as val:
new_output=val.run(c*d)
print(new_output)
在上面的例子中,我们使用了TF . compat . v1 . disable _ eager _ execution()函数,,这个函数与会话相比很简单,因为它实现了操作而没有创建图形。该方法在 Tensorflow 2.0 版本中可用。
你可以参考下面的截图
Solution of attributeerror module TensorFlow compat v2 has no attribute session
另外,请查看:Python 中的熊猫
Attributeerror 模块' tensorflow.keras.backend '没有属性' get_session'
- 这里我们要讨论的是错误 Attributeerror 模块' tensorflow.keras.backend '没有属性
- 为了执行这个特定的任务,我们首先要导入 Keras 后端库。在 Python 中,它用于生成模型,而且每当我们在开发产品时面临低级计算问题时,Keras 模块都会提供后端引擎。
- 接下来,我们将导入 TensorFlow 库,然后为
TF . keras . back end . get _ session
创建一个会话。正如你在截图中看到的,输出显示 attributeerror 模块tensor flow。“Keras.backend”没有属性“get_session”。
来源
代号:
from keras import backend as K
import tensorflow as tf
tf.keras.backend.get_session()
attributeerror module TensorFlow Keras backend has no attribute get_session
原因:此错误的原因是 session()函数在最新版本的 TensorFlow 中不可用。
此错误代码的解决方案
from keras import backend as K
import tensorflow as tf
tf.compat.v1.keras.backend.get_session()
在这个例子中,我们使用了 TF . compat . v1 . keras . back end . get _ session()函数。此函数在 TensorFlow 2.0 版本中可用,它将始终返回 tf。可以在后端使用的会话。
Solution of attributeerror module TensorFlow Keras backend has no attribute get_session
你可能也喜欢阅读下面的教程。
- Python 中的 NumPy 是什么
- Scikit-learn Vs Tensorflow
- Python 中的 Matplotlib 是什么
- 导入错误没有名为 TensorFlow 的模块
- TensorFlow Tensor to numpy
在本 Python 教程中,我们讨论了错误“模块‘tensor flow’没有属性‘session’”。我们还讨论了以下主题:
- attributeerror 模块“tensorflow.keras.backend”没有属性“get_session”
- attributeerror 模块“tensorflow.compat.v2”没有属性“session”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“tensorflow”没有属性“sparse_placeholder”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-sparse_placeholder/
在这个 Python 教程中,我们将重点关注如何修复 属性错误:模块“tensorflow”在我们的模型中没有属性“sparse _ placeholder”,我们还将看一些如何在 TensorFlow
中使用*TF . sparse _ placeholder()*
函数的例子。我们将讨论这些话题。
- Attributeerror:模块“tensorflow”没有属性“sparse_placeholder”
- Attributeerror:模块“tensorflow”没有属性“sparsetensorvalue”
- Attributeerror:模块“tensorflow”没有属性“sparse_to_dense”
- Attributeerror:模块“tensorflow”没有属性“sparse”
- Attributeerror:模块“tensor flow . keras . loss”没有属性“sparsecategoricalcrossentropy”
目录
- 属性错误:模块“tensorflow”没有属性“sparse _ placeholder”
- 属性错误:模块“tensorflow”没有属性“sparsetensorvalue”
- 属性错误:模块“tensorflow”没有属性“sparse _ to _ dense”
- 属性错误:模块“tensorflow”没有属性“Sparse”
- Attributeerror:模块' tensor flow . keras . loss '没有属性' sparsecategoricalcrossentropy '
属性错误:模块“tensorflow”没有属性“sparse _ placeholder”
- 占位符只是一个变量,我们随后将向它提供信息。
- 在不需要数据的情况下,它使我们能够设计我们的计算图并产生我们的操作,然后我们使用这些占位符将数据输入到 TensorFlow 语言的图中。
- sparse_placeholder 为稀疏张量插入一个占位符,该占位符将始终按照字典的顺序输入,它将返回稀疏张量,该稀疏张量可用作输入值的句柄。
举例:
让我们举个例子,看看如何解决属性错误模块“tensorflow”没有属性“sparse_placeholder”
import tensorflow as tf
result= tf.sparse_placeholder(shape=(3,3))
print(result)
下面是以下代码的截图
attributeerror module ‘tensorflow’ has no attribute ‘sparse_placeholder’
此错误的解决方案
在本例中,我们将使用 TF . compat . v1 . sparse _ placeholder()函数,该函数在 TensorFlow 2.x 版本中可用。
语法:
下面是 Python TensorFlow 中TF . compat . v1 . sparse _ placeholder()
函数的语法。
tf.compat.v1.sparse_placeholder(
dtype, shape=None, name=None
)
- 它由几个参数组成
dtype
:该参数定义了输入张量中值元素的类型,按照字典的顺序输入。shape
:它定义了输入张量的形状,如果没有指定给定的形状,它将检查条件,然后你可以很容易地输入任何形状的稀疏张量。name
:指定操作的名称,默认情况下不取值。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
result= tf.compat.v1.sparse_placeholder(dtype=tf.float32, shape=(3,3))
print(result)
在本例中,我们导入了别名为“tf”的 tensorflow 库,然后使用了TF . compat . v1 . sparse _ placeholder()
函数。如果对该稀疏张量求值,将会导致错误。将它的值输入 Session.run 需要可选的 feed dict 参数。
你可以参考下面的截图
Solution of attributeerror module ‘tensorflow’ has no attribute ‘sparse_placeholder’
这是我们解决属性错误的方法:模块“tensorflow”没有属性“sparse_placeholder”
阅读:模块“tensorflow”没有属性“get _ variable”
属性错误:模块“tensorflow”没有属性“sparsetensorvalue”
- 让我们讨论一下如何解决 attribuiterror 模块“tensorflow”没有属性“sparsetensorvalue”的问题。
- 索引、值和形状是 TensorFlow 用来表示稀疏张量的三个不同的密集张量。为了使用简单,这三个张量在 Python 中被组合成一个 SparseTensor 类。
- 在将它们提供给下面的操作之前,将任何独立的索引、值和形状张量封装在一个 SparseTensor 对象中。
语法:
让我们看一下语法并理解 Python TensorFlow 中“tf.compat.v1.sparsetensorvalue”函数的工作原理
tf.compat.v1.SparseTensorValue(
indices, values, dense_shape
)
- 它由几个参数组成
indexes
:一个形状为[N,ndims]的二维 int64 张量,列出了稀疏张量中非零值成员的索引(元素的索引为零)。indexes =[[7,8],[5,2]],例如,指定索引为[[7,8],[5,2]]的项目具有非零值。values
:任意类型和形状的一维张量[N],提供索引中每个元素的值。例如,给定索引=[[1,3],[2,6]],参数值=[15,45]表示稀疏张量的元素[2,6]的值为 15,张量的元素[13,11]的值为 45。dense_shape
:指定字段编号的名称元组别名。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
result= tf.SparseTensorValue(indices=[0,1,2],values=[23,45,67],dense_shape=(3,3))
print(result)
在下面给出的代码中,我们首先导入了 tensorflow 库,然后使用了 tf。SparseTensorValue()函数,在这个函数中,我们将索引、值和 dense_shape 指定为参数。
下面是下面给出的代码的截图。
attributeerror module tensorflow has no attribute sparsetensorvalue
以下是此错误的解决方案。
在本例中,我们将使用TF . compat . v1 . sparsetensorvalue()
函数,该函数仅适用于 TensorFlow 最新版本 2.x。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
result= tf.compat.v1.SparseTensorValue(indices=[0,1,2],values=[23,45,67],dense_shape=(3,3))
print(result)
下面是以下给定代码的实现。
Solution of attributeerror module tensorflow has no attribute sparsetensorvalue
正如您在屏幕截图中看到的,错误已解决 attributeerror 模块 tensorflow 没有属性 sparsetensorvalue。
属性错误:模块“tensorflow”没有属性“sparse _ to _ dense”
- 这里我们将讨论如何解决 attributeerror 模块' tensorflow '没有属性' sparse_to_dense '。
举例:
import tensorflow as tf
input_tensor = tf.sparse_to_dense(dense_shape=[2, 2],values=[67, 18, 14],indices =[[1, 0],[0, 3],[2, 0]])
print(input_tensor)
下面是以下给定代码的输出
attributeerror module tensorflow has no attribute sparse_to_dense
此错误的解决方案
在本例中,我们将使用TF . compat . v1 . sparse _ to _ dense
()函数,它会将稀疏张量转换为密集张量。
语法:
tf.compat.v1.sparse_to_dense(
sparse_indices,
output_shape,
sparse_values,
default_value=0,
validate_indices=True,
name=None
)
- 它由几个参数组成
sparse _ indexes
:int 32 或 int64 类型的一维和二维张量。将存储稀疏值[i]的整个索引包含在稀疏索引[i]数组中。output_shape
:定义了密集输出张量的形状。- 稀疏值:用于所有稀疏索引。
default_value
:定义了和稀疏值相同的类型,一个 0-D 张量。对于稀疏索引中未列出的索引,应该设置一个值。默认值为零。validate _ indexes
:默认情况下,它取真值,如果为真,它将检查条件,然后检查索引以确保它们已排序。
import tensorflow as tf
input_tensor = tf.sparse.SparseTensor(indices=[[1, 0], [1, 1], [1, 1],
[0, 1], [3, 0], [2, 1],
[1, 0]],
values=[45, 20, 34, 24, 19, 25, 75],
dense_shape=[5, 4])
new_input = tf.constant([90, 80, 60, 17, 2])
inputs = [new_input, input_tensor]
result = tf.compat.v1.sparse_to_dense(sparse_indices=inputs[1].indices,
output_shape=inputs[1].dense_shape,
sparse_values=inputs[1].values)
print("sparse_dense:",result)
在下面给出的代码中,我们首先通过使用 tf.sparse.SparseTensor
()创建了一个稀疏张量,并在此函数内将值和 dense_shape()指定为参数。接下来,我们使用TF . compat . v1 . sparse _ to _ dense()
函数,得到稠密张量。
下面是以下给定代码的执行过程
Solution of attributeerror module tensorflow has no attribute sparse_to_dense
这就是我们解决没有属性 sparse_to_dense 的 attributeerror 模块 tensorflow 的方法。
读取:属性错误:模块“tensorflow”没有属性“mul”
属性错误:模块“tensorflow”没有属性“Sparse”
- 被称为稀疏张量的数据集是其中大多数条目为零的数据集;这方面的一个例子是一个大的对角矩阵。(其中大部分为零)。
- 存储非零值及其相关坐标,而不是张量对象的整组值。
举例:
import tensorflow as tf
result=tf.Sparse(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])
print(result)
你可以参考下面的截图
attributeerror module tensorflow has no attribute Sparse
此错误的解决方案。
import tensorflow as tf
result=tf.sparse.SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])
print(result)
在下面给出的代码中,我们首先导入 tensorflow 库,然后使用TF . sparse . sparsesensor()
并为其定义索引和值。
下面是以下给定代码的实现
Solution of attributeerror module tensorflow has no attribute Sparse
Attributeerror:模块' tensor flow . keras . loss '没有属性' sparsecategoricalcrossentropy '
- 在本节中,我们将讨论 attributeerror 模块“tensor flow . keras . loss”没有属性“sparsecategoricalcrossentropy”。
- 在有两个或更多标注分类的情况下,使用此交叉熵损失函数。正如所期望的那样,标签必须以整数形式提供。如果要提供具有一个热点表示的标注,请使用分类交叉熵损失。
- 对于 y pred,每个要素应该有 n 个浮点值,对于 y true,每个要素应该只有一个浮点值。
举例:
import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
(new_train_images, new_train_labels), (new_test_images, new_test_labels) = datasets.cifar10.load_data()
new_train_images, new_test_images = new_train_images / 255.0, new_test_images / 255.0
class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',
'dog', 'frog', 'horse', 'ship', 'truck']
plt.figure(figsize=(10,10))
for i in range(25):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(new_train_images[i])
plt.xlabel(class_names[new_train_labels[i][0]])
plt.show()
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10))
model.compile(optimizer='adam',
loss=tf.keras.losses.sparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
history = model.fit(new_train_images, new_train_labels, epochs=10,
validation_data=(new_test_images, new_test_labels))
plt.plot(history.history['accuracy'], label='accuracy')
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.ylim([0.5, 1])
plt.legend(loc='lower right')
test_loss, test_acc = model.evaluate(new_test_images, new_test_labels, verbose=2)
下面是以下给定代码的实现
attributeerror module tensorflow.keras_.losses has no attribute sparsecategoricalcrossentropy
以下是此错误的解决方案。
在此示例中,我们将使用 TF . keras . loss . sparsecategoricalcrossentropy()函数。
语法:
tf.keras.losses.SparseCategoricalCrossentropy(
from_logits=False,
reduction=losses_utils.ReductionV2.AUTO,
name='sparse_categorical_crossentropy'
)
- 它由几个参数组成
from _ logits
:y pred 是否需要 logits 张量。我们假设 y pred 默认情况下编码一个概率分布,并且默认情况下,它取一个假值。- 还原:默认取 loss _ utils . reduction v2 . auto。
举例:
import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
(new_train_images, new_train_labels), (new_test_images, new_test_labels) = datasets.cifar10.load_data()
new_train_images, new_test_images = new_train_images / 255.0, new_test_images / 255.0
class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',
'dog', 'frog', 'horse', 'ship', 'truck']
plt.figure(figsize=(10,10))
for i in range(25):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(new_train_images[i])
plt.xlabel(class_names[new_train_labels[i][0]])
plt.show()
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10))
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
history = model.fit(new_train_images, new_train_labels, epochs=10,
validation_data=(new_test_images, new_test_labels))
plt.plot(history.history['accuracy'], label='accuracy')
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.ylim([0.5, 1])
plt.legend(loc='lower right')
test_loss, test_acc = model.evaluate(new_test_images, new_test_labels, verbose=2)
下面是以下代码的截图
Solution of attributeerror module tensorflow.keras_.losses has no attribute sparsecategoricalcrossentropy
还有,多看看一些 Python 中的 TensorFlow 教程。
- tensor flow next _ batch+Examples
- Tensorflow 将稀疏张量转换为张量
- TensorFlow 全球平均池
- 二元交叉熵张量流
- Tensorflow 嵌入 _ 查找
- 模块“tensorflow”没有属性“optimizer”
- 模块“tensorflow”没有属性“sparse _ placeholder”
在本 Python 教程中,我们重点介绍了如何修复 属性错误:模块“tensorflow”在我们的模型中没有属性“sparse _ placeholder”,我们还将看一些如何在 TensorFlow
中使用*TF . sparse _ placeholder()*
函数的示例。我们已经讨论了这些主题。
- Attributeerror:模块“tensorflow”没有属性“sparse_placeholder”
- Attributeerror:模块“tensorflow”没有属性“sparsetensorvalue”
- Attributeerror:模块“tensorflow”没有属性“sparse_to_dense”
- Attributeerror:模块“tensorflow”没有属性“sparse”
- Attributeerror:模块“tensor flow . keras . loss”没有属性“sparsecategoricalcrossentropy”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
模块“tensorflow”没有属性“truncated_normal”
原文:https://pythonguides.com/module-tensorflow-has-no-attribute-truncated_normal/
在本 Python 教程中,我们将讨论错误“模块‘tensor flow’没有属性‘truncated _ normal’”。我们还将讨论以下主题:
- Attributeerror:模块“tensorflow”没有属性“truncated_normal”
- Attributeerror:模块“tensorflow”没有属性“truncated_normal_initializer”
另外,查看关于 TensorFlow 的最新教程:模块“tensorflow”没有属性“optimizer”
目录
- 属性错误:模块“tensorflow”没有属性“truncated _ normal”
- 属性错误:模块“tensorflow”没有属性“truncated _ normal _ initializer”
属性错误:模块“tensorflow”没有属性“truncated _ normal”
- 本节将讨论如何解决错误模块‘tensor flow’没有属性‘truncated _ normal’。
- 为了执行这一特定任务,我们将使用 truncated_normal。任何偏离平均值超过两个标准偏差的样本都将被丢弃并减少,这些值取自具有已知平均值和标准偏差的正态分布,此方法用于从正态分布生成随机值,正态分布是指在许多事件中出现的概率分布。
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
input_tens = tf.constant(50,dtype="int32",name="input_tensor")
result=tf.truncated_normal(shape=[input_tens], mean=4, stddev=1)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
下面是以下代码的截图
module ‘tensorflow’ has no attribute ‘truncated_normal’
此错误的解决方案
在本例中,我们将使用TF . random . truncated _ normal()
函数,该函数从截断的正态分布中返回一个输出随机值。
语法:
下面是TF . random . truncated _ normal()
函数的语法
tf.random.truncated_normal(
shape,
mean=0.0,
stddev=1.0,
dtype=tf.dtypes.float32,
seed=None,
name=None
)
- 它由几个参数组成
shape
:这个参数定义了一个 Python 或者 1-D 整数的张量数组。输出张量的形式。- 表示:默认情况下,它取 0.0 值和 dtype 或 0-D 张量类型的 Python 值。被缩短的正态分布的平均值。
stddev
:dtype 或 0-D 张量类型的 Python 值,以及正态分布的初始标准差。dtype
:默认取 tf.dtypes.float32,指定张量的数据类型。seed
:Python 中的一个整数,用来产生分布的随机种子。name
:定义操作的名称,默认情况下不取值。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
input_tens = tf.constant(50,dtype="int32",name="input_tensor")
result=tf.random.truncated_normal(shape=[input_tens], mean=4, stddev=1)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
在上面的代码中,我们已经导入了 Tensorflow 库,然后使用TF . compat . v1 . disable _ eager _ execution
函数来创建会话。
之后,我们应用常量函数来创建张量形状,然后使用TF . random . truncated _ normal()
函数,在这个函数中,我们将形状、平均值和标准偏差指定为参数。一旦执行了这段代码,输出将显示正态分布的随机值。
你可以参考下面的截图。
Solution of attributeerror: module ‘tensorflow’ has no attribute ‘truncated_normal’
这就是我们如何解决属性错误模块“tensorflow”没有属性“truncated_normal”。
属性错误:模块“tensorflow”没有属性“truncated _ normal _ initializer”
- 我们来讨论一下如何解决错误模块‘tensor flow’没有属性‘truncated _ normal _ initializer’。
- 为了执行这个特定的任务,我们将使用
TF . compat . v1 . truncated _ normal _ initializer()
函数,这个函数初始化器生成一个截断的正态分布。 - 这些值与来自随机正常初始值设定项的值之间的唯一区别是,偏离两个以上标准偏差的值将被丢弃和减少。应该使用这种方法初始化神经网络的权重和滤波器。
语法:
下面是 Python TensorFlow 中TF . compat . v1 . truncated _ normal _ initializer()
函数的语法
tf.compat.v1.truncated_normal_initializer(
mean=0.0,
stddev=1.0,
seed=None,
dtype=tf.dtypes.float32
)
举例:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_trunc = tf.truncated_normal_initializer(mean=14,stddev=1,seed=4)
print(new_trunc)
下面是以下代码的截图
tensorflow has no attribute truncated_normal_initializer
此错误的解决方案。
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_trunc = tf.compat.v1.truncated_normal_initializer(mean=14,stddev=1,seed=4)
print(new_trunc)
你可以参考下面的截图
solution of attributeerror module tensorflow has no attribute truncated_normal_initializer
正如你在截图中看到的,我们已经解决了 attributeerror 模块 tensorflow 没有属性 truncated_normal_initializer。
你可能也喜欢阅读下面的 TensorFlow 教程。
- TensorFlow 全连通层
- 模块“张量流”没有属性“函数”
- 熊猫数据帧到张量流数据集
- TensorFlow 自然语言处理
- 张量流自定义损失函数
- Tensorflow 获取静态值
- 属性错误:模块“tensorflow”没有属性“matrix _ transpose”
在本 Python 教程中,我们讨论了错误“模块‘tensor flow’没有属性‘truncated _ normal’”。我们还讨论了以下主题:
- Attributeerror:模块“tensorflow”没有属性“truncated_normal”
- Attributeerror:模块“tensorflow”没有属性“truncated_normal_initializer”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
ModuleNotFoundError:没有名为 Django 的模块
原文:https://pythonguides.com/modulenotfounderror-no-module-named-django/
在本 Python Django 教程中,我们将讨论如何解决 ModuleNotFoundError:没有名为 Django 的模块,我们还将涉及以下主题:
- 没有名为 Django windows 10 的模块
- 没有名为 Django ubuntu 的模块
- 没有名为 Django macOS 的模块
目录
没有名为 Django windows 10 的模块
本节我们将学习如何解决 windows 10 中的 modulenotfounderror:没有名为‘django’的模块。
ModuleNotFoundError: No module named Django
为此,首先检查您是否安装了 pip,只需在 python 终端中编写命令 pip 即可。如果你有,那就好,否则,从网上下载一个名为 get-pip.py
的 python 脚本,保存到你的本地系统。
命令:
**# Check pip is installed or not**
pip
Pip
是用于从 Python 包中安装包的安装包。
尝试了解文件保存的位置,并从命令提示符下将当前目录更改到该位置。
**#If pip is not installed then**
cd path_of_dir_of_get-pip_script
之后,安装 pip 并通过编写以下命令运行 get-pip.py
脚本:
"python .\get-pip.py"
现在,要安装 Django 及其依赖项,请键入以下命令:
pip install django
您的错误将会得到解决。或者,如果没有解决,则检查以下步骤。
- 如果您在虚拟环境中安装了 Django,请确保必须激活它。
source venv/bin/activate
- 确保您正在安装的 Django 版本与您已经安装的 Python 版本兼容。
- 如果您安装了 64 位版本的 Python,请确保 Django 也是 64 位的。在 32 位的情况下,两者都必须是 32 位。
- 确保在系统和环境变量的 path 变量中包含 Python 的路径。
- 如果 pip 过期,请将其升级到最新版本。
python -m pip install --upgrage pip
- 确保导入语句中也没有错误。
没有名为 Django ubuntu 的模块
在本节中,我们将学习解决modulenotfounderror:Ubuntu 中没有名为‘django’的模块。
要解决这个错误,您必须安装 Django。因此,要安装 Django,首先用 apt 更新您的 locale 包:
sudo apt update
接下来,检查您安装了哪个版本的 Python。并确保它能兼容 Ubuntu 和 Django。
python3 -V
最后,通过 APT 包管理器安装 Django。
sudo apt install python3-django
如果您想用 pip 安装 Django,请遵循以下命令:
sudo pip install django
通过以上步骤,您的错误将得到解决。
另外,检查: Python Django vs 金字塔
没有名为 Django macOS 的模块
在本节中,我们将学习解决 modulenotfounderror:在 macOS 中没有名为‘django’的模块。
要解决这个错误,您必须安装 Django。并且,在安装 Django 之前,必须检查是否安装了 Python。如果已经安装了 pip 包,如果没有安装,先安装 python,然后再安装 pip 包。
最后,安装 Django。
sudo pip install django
通过以上步骤,您的错误将得到解决。
你可能也喜欢阅读下面的 Django 教程。
- 获取 Django 中的 URL 参数
- Django 模板中的 If 语句
- Django 从 POST 请求中获取所有数据
- 使用 Django 将 HTML 页面转换为 PDF
- AttributeError 模块对象在 Django 中没有属性
- Python Django 保存所有应用程序基础模板的位置
在本 Python Django 教程中,我们讨论了 Python Django no 模块 Django,并且我们还涵盖了以下主题:
- 没有名为 Django windows 10 的模块
- 没有名为 Django ubuntu 的模块
- 没有名为 Django macOS 的模块
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Modulenotfounderror no module named tensorflow Keras
原文:https://pythonguides.com/modulenotfounderror-no-module-named-tensorflow-keras/
在本 Python 教程中,我们将讨论错误“ modulenotfounderror 没有命名为 TensorFlow Keras 的模块”。我们还将讨论以下主题:
- Modulenotfounderror no module named tensorflow Keras
- Modulenotfounderror 没有名为“tensor flow . keras . layers . experimental . preprocessing”的模块
- Modulenotfounderror 没有名为“tensorflow.keras.engine”的模块
- Modulenotfounderror 没有名为“tensorflow.keras.layers.merge”的模块
- Modulenotfounderror no module named ‘tensorflow.keras.utils.vis_utils’
- Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’
- Modulenotfounderror 没有名为“tensor flow . keras . layers . embeddings”的模块
- Modulenotfounderror 没有名为“tensor flow . keras . applications . resnet”的模块
- Modulenotfounderror 没有名为“tensor flow . keras . layers . recurrent”的模块
目录
- Modulenotfounderror 没有名为 tensorflow Keras 的模块
- Modulenotfounderror 没有名为“tensorflow.keras.engine”的模块
- Modulenotfounderror 没有名为“tensorflow.keras.layers.merge”的模块
- Modulenotfounderror no module named ‘tensorflow.keras.utils.vis_utils’
- Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’
- Modulenotfounderror 没有名为“tensor flow . keras . layers . embeddings”的模块
- Modulenotfounderror 没有名为“tensor flow . keras . applications . resnet”的模块
- Modulenotfounderror 没有名为‘tensor flow . keras . layers . recurrent’的模块
Modulenotfounderror 没有名为 tensorflow Keras 的模块
- 这里我们要讨论的是 module not found 错误没有名为 TensorFlow 的模块。Keras 。
- 您可以使用
tf.keras()
创建、拟合、测试和应用深度学习模型来生成预测。常见的深度学习任务,如分类和回归预测建模,现在对于只想完成一些事情的典型开发人员来说是触手可及的。
举例:
让我们举个例子,看看如何解决名为 TensorFlow 的模块中的模块未找到错误。Keras 。
源代码
import tensorflow as tf
from tensorflow import keras
from tensorflow.Keras import layers
下面是下面给出的代码的截图。
modulenotfounderror no module named tensorflow Keras
正如您在截图中看到的,输出显示错误 ModuleNotFoundError:没有名为 tensorFlow 的模块。Keras 。
原因:这个错误是因为没有模块 tensorflow.keras
,在任何版本的 tensorflow 中都不工作。
现在让我们来看看这个问题的解决方案。
解决方案:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
new_model = keras.Sequential(
[
layers.Dense(3, activation="relu", name="layer1"),
layers.Dense(1, activation="relu", name="layer2"),
layers.Dense(2, name="layer3"),
]
)
tens_1 = tf.ones((3, 3))
tens_2 = new_model(tens_1)
new_model.summary()
在下面给出的代码中,我们首先导入了 tensorflow 库和 keras 层。接下来,我们使用 keras 创建一个模型。序贯() 而在这之内,我们提到了具有激活功能的密集层‘relu’。接下来,我们将显示模型的摘要。
你可以参考下面的截图。
Solution of modulenotfounderror no module named tensorflow Keras
这就是我们如何解决 tensorflow 中名为 tensorflow Keras 的错误 modulenotfounderror no 模块。
读取:属性错误:模块“tensorflow”没有属性“scalar _ summary”
Modulenotfounderror 没有名为“tensorflow.keras.engine”的模块
- 在本节中,我们将讨论名为tensor flow 的属性错误 modulenotfounderror no 模块。TensorFlow 中的 Keras.engine' 。
- 使用 Keras 引擎可以减少典型使用场景中所需的用户交互量,并提供清晰、响应迅速的错误通知。
示例:
import tensorflow.keras.layers as KL
import tensorflow.keras.models as KM
import tensorflow.keras.engine as KE
下面是以下给定代码的实现
modulenotfounderror no module named tensorflow.keras_.engine
正如您在截图中看到的,输出显示错误 ModuleNotFoundError:没有名为 tensorFlow 的模块。Keras.engine 。
原因:这个错误是因为没有模块 tensorflow.keras.engine
,在最新版本的 tensorflow 中无法使用。
现在让我们来看看这个问题的解决方案。
解决方案:
import tensorflow.keras.layers as KL
import tensorflow.keras.models as KM
from tensorflow.keras.layers import Layer, InputSpec
result= tf.keras.layers.InputSpec(dtype=None, shape=(2,2),ndim=None)
print(result)
在下面给出的代码中,我们导入了 'tensorflow 的新模块。Keras.engine' 来自 tensorflow.keras.layers
导入层,InputSpec,这是 tensorflow 中的更新版本。
Solution of modulenotfounderror no module named tensorflow.keras_.engine
在本例中,我们已经讨论了如何解决错误module 未找到名为 tensorflow.keras_ 的错误模块。发动机。
阅读: Attributeerror 模块“tensorflow”没有属性“squared _ difference”
Modulenotfounderror 没有名为“tensorflow.keras.layers.merge”的模块
- 这里我们要讨论的 modulenotfounderror no 模块名为‘tensor flow’。Tensorflow 中的 Keras.layers.merge' 。
- 在图像中合并图层的过程通常称为“拼合”图像。在图像中,您可以决定是合并所有层还是仅合并部分层。当层被组合时,图像的存储器需求减少。
举例:
from keras.layers.merge import concatenate
下面是下面给出的代码的截图。
modulenotfounderror no module named tensorflow.keras_.layers.merge
正如您在屏幕截图中看到的,输出显示名为tensor flow . keras _ . layers . merge
的 modulenotfounderror no 模块。
原因:这个错误是因为没有 keras.layers.merge 模块,在最新版本的 tensorflow 中不起作用。
此错误的解决方案
在本例中,我们将使用TF . keras . layers . concatenate()
函数连接两个输入层。
语法:
让我们看看语法,了解如何在 TensorFlow 中使用TF . keras . layers . concatenate()
函数。
tf.keras.layers.concatenate(
inputs, axis=-1, **kwargs
)
- 它由几个参数组成
- 输入:该参数定义了输入张量的列表。
- 轴:缺省情况下,它取-1 值,并定义串联轴。
- **
kwargs
:该参数表示标准层关键字参数。
示例:
import tensorflow as tf
import numpy as np
from keras.layers import concatenate
USA_based_random_num = np.arange(20).reshape(2, 2, 5)
print(USA_based_random_num )
sample_num = np.arange(20, 30).reshape(2, 1, 5)
print(sample_num)
result= tf.keras.layers.concatenate([USA_based_random_num , sample_num],axis=1)
print(result)
首先在上面的代码中,我们导入了 tensorflow 和 numpy 库。在本例中,我们定义了一个变量“USA_based_random_num ”,并使用 np.arange()函数创建了一个数组。
接下来,我们使用 tf.keras.layers.concatenate()函数,它将返回一个输入张量,即沿着轴的输入的串联。
下面是以下给定代码的实现。
Solution of modulenotfounderror no module named tensorflow.keras_.layers.merge_
这就是我们如何解决 tensorflow 中名为 tensor flow . keras _ . layers . merge _ 的 modulenotfounderror no 模块的错误解。
Modulenotfounderror no module named ‘tensorflow.keras.utils.vis_utils’
- 本例中我们将讨论如何求解 tensorflow 中名为' tensor flow . keras . utils . vis _ utils '的 modulenotfounderror no 模块。
- 用 TensorFlow 安装 Keras 有两种方法:安装一个 Python 安装,比如 ActivePython,它附带了数百个广受欢迎的包,比如 Keras 和 TensorFlow。使用 pip 可以同时安装 Keras 和 TensorFlow。
举例:
from keras.utils.visualize_util import plot
你可以参考下面的截图
modulenotfounderror no module named tensorflow.keras_.utils_.vis_utils
在上面的例子中,这个模块在 tensorflow 版本中并不存在。
以下是此错误的解决方案
from keras import layers
from keras import models
from keras import optimizers
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu',
input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.summary()
from keras import optimizers
model.compile(loss='binary_crossentropy', optimizer=keras.optimizers.RMSprop(learning_rate=0.01))
在下面给出的代码中,我们首先导入了模型和优化器。接下来,我们创建了一个顺序模型,其中提到了第一层 conv2d,在这个参数中,我们传递了输入值和激活函数。
之后,我们声明了下一层 max pooling2d,并在其中传递了输入值。
下面是以下给定代码的执行过程
Solution of modulenotfounderror no module named tensorflow.keras_.utils_.vis_utils
正如你在截图中看到的,我们已经讨论了如何解决名为 tensorflow.keras_ 的错误 modulenotfounderror no 模块。utils_。TensorFlow 中的 vis_utils 。
Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’
- 本节我们将了解如何求解 tensorflow 中名为' tensor flow . keras . utils . NP _ utils '的 modulenotfounderror no 模块。
- 表示各种类别的整数的 numpy 数组(or)向量可以转换为 numpy 数组(or)矩阵,其二进制值和列数等于使用方法 to categorical()的数据中的类别数。
举例:
import tensorflow.keras.utils.np_utils
下面是以下给定代码的实现
modulenotfounderror no module named tensorflow.keras_.utils_.np_utils
正如您在屏幕截图中看到的,输出显示了 modulenotfounderror no 名为 tensorflow.keras_ 的模块。utils_。np_utils 。
原因:这个错误是因为没有模块 tensorflow.keras_。utils_。np_utils 并且在最新版本的 tensorflow 中不工作。
此错误的解决方案。
在本例中,我们将使用TF . keras . utils . to _ categorial()
函数,该函数用于将向量转换为二进制类矩阵。
语法:
tf.keras.utils.to_categorical(
y, num_classes=None, dtype='float32'
)
- 它由几个参数组成
y
:从 0 到 num classes–1 的整数包含在一个类似数组的结构中,该结构将被转换成一个矩阵。num_classes
:组合的类数。如果没有,这意味着 max(y) + 1。dtype
:默认取 float32,定义数据类型。
import tensorflow as tf
from tensorflow.keras.utils import to_categorical
USA_based_code = tf.keras.utils.to_categorical([1, 0, 2, 3], num_classes=4)
USA_based_code = tf.constant(USA_based_code, shape=[4, 4])
print(USA_based_code)
在下面给出的代码中,我们首先将 tensorflow.keras.utils 导入到 _ categorial,然后声明一个变量“USA_based_code ”,并使用 TF . keras . utils . to _ categorial()函数。
下面是下面给出的代码的截图。
Solution of modulenotfounderror no module named tensorflow.keras_.utils_.np_utils
这就是我们如何解决名为 tensorflow.keras_ 的错误 modulenotfounderror no 模块。utils_。张量流中的 np_utils。
Modulenotfounderror 没有名为“tensor flow . keras . layers . embeddings”的模块
- 在此示例中,我们将讨论 tensorflow 中名为“tensor flow . keras . layers . embeddings”的错误 modulenotfounderror no 模块。
- 浮点值的密集向量是一种嵌入(向量的长度是您指定的参数)。嵌入值是可训练的参数,而不是手动指定的(模型在训练期间学习的权重,以同样的方式,模型学习密集层的权重)。
举例:
from tensorflow.keras.layers.embeddings import Embedding
下面是以下给定代码的实现
modulenotfounderror no module named tensorflow.keras_.layers.embeddings
此错误的解决方案。
在本例中,我们将使用TF . keras . layers . embedding(
)函数,该函数用于将正数索引转换为密集向量。
语法:
tf.keras.layers.Embedding(
input_dim,
output_dim,
embeddings_initializer='uniform',
embeddings_regularizer=None,
activity_regularizer=None,
embeddings_constraint=None,
mask_zero=False,
input_length=None,
**kwargs
)
- 它由几个参数组成
input_dim
:词汇的大小,表示为最大整数索引+1。output_dim
:该参数定义了整数值,表示密集嵌入的维数。- 嵌入 _ 初始化器:这是嵌入矩阵的初始化器。
mask_zero
:布尔值,表示输入值 0 是否是必须隐藏的唯一“填充”值。这有助于利用循环层,它可以接受不同长度的输入。- 如果这是准确的,将会抛出一个异常,并且所有后续的模型层都需要支持屏蔽。如果 mask_zero 设置为 True,则索引 0 不能用于词汇表(输入 dim 应该等于词汇表的大小加 1)。
举例:
import tensorflow as tf
import numpy as np
new_model = tf.keras.Sequential()
new_model.add(tf.keras.layers.Embedding(1000, 64,input_length=10))
random_num = np.random.randint(1000, size=(32, 10))
new_model.compile('rmsprop', 'mse')
new_result = new_model.predict(random_num )
print(new_result.shape)
你可以参考下面的截图
Solution of modulenotfounderror no module named tensorflow.keras_.layers.embeddings
正如你在截图中看到的,我们已经讨论了如何解决 tensorflow 中名为tensor flow . keras _ . layers . embeddings
的错误 modulenotfounderror no 模块。
阅读:模块“tensorflow”没有属性“sparse _ placeholder”
Modulenotfounderror 没有名为“tensor flow . keras . applications . resnet”的模块
- 这里我们要讨论的是如何解决 TensorFlow 中名为' tensor flow . keras . applications . resnet '的错误 modulenotfounderror no 模块。
- 对于像图像识别这样的应用,使用具有 ResNet 的卷积神经网络。
举例:
我们举个例子,检查如何解决 TensorFlow 中名为' tensor flow . keras . applications . resnet '的错误 modulenotfounderror no 模块。
源代码:
import tensorflow.keras.applications.ResNet
下面是以下给定代码的实现。
modulenotfounderror no module named TensorFlow.keras_.applications.resnet
解决方案:
以下是此错误的解决方案
import keras
import keras.applications.resnet
from keras.applications.resnet import ResNet50
model = ResNet50(include_top=True, weights='imagenet', input_tensor=None, input_shape=None)
model.summary()
下面是以下给定代码的实现
Solution of modulenotfounderror no module named TensorFlow.keras_.applications.resnet
在本例中,我们讨论了 TensorFlow 中名为tensor flow . keras _ . applications . resnet
的错误模块。
阅读:模块“tensorflow”没有属性“truncated _ normal”
Modulenotfounderror 没有名为‘tensor flow . keras . layers . recurrent’的模块
本节我们将讨论如何解决 tensorflow 中名为tensor flow . keras . layers . recurrent
的错误 modulenotfounderror no 模块。
举例:
from tensorflow.keras.layers.recurrent import Sequential
下面是以下给定代码的实现。
modulenotfounderror no module named tensorflow.keras_.layers.recurrent
正如您在屏幕截图中看到的,输出显示错误 modulenotfounderror 没有名为“tensor flow . keras . layers . recurrent”的模块
原因:这个错误是因为没有模块tensorflow . keras . layers . recurrent
,在任何版本的 tensor flow 中都不起作用。
现在让我们来看看这个问题的解决方案
解决方案:
import numpy as np
import tensorflow as tf
from tensorflow.keras import Input, Model
from tensorflow.keras.layers import Dense, Flatten, Conv2D
np.random.seed(44)
tf.random.set_seed(44)
new_arr = np.random.rand(4, 32, 32, 3)
input_shape = Input(shape=new_arr.shape[1:])
convolution_layer = Conv2D(filters=8, kernel_size=(3, 3), activation='relu')(input_shape)
flatten = Flatten()(convolution_layer)
feature_map = Dense(8, activation='relu')(flatten)
new_output = Dense(2, activation='softmax')(flatten)
result = Model(inputs=input_shape, outputs=new_output)
result(new_arr)
在上面的代码中,我们已经导入了 numpy 和 TensorFlow 库。接下来,我们使用了 tf.random.set_seed()
函数。全局和操作级种子是操作使用的随机种子的来源。
当全局种子是预先确定的而操作种子不是预先确定的时,除了全局种子之外,系统确定性地选择一个操作种子来产生不同的随机序列。接下来,我使用了 conv2d()
图层,并用 kernel_size()
分配滤镜。
之后,我们添加具有输入形状 8
和激活函数‘relu’的密集层。
下面是以下给定代码的执行过程
Solution of modulenotfounderror no module named tensorflow.keras_.layers.recurrent
还有,多看看一些 Python TensorFlow 教程。
所以,在这个 Python 教程中,我们讨论了错误“ modulenotfounderror 没有命名为 TensorFlow Keras 的模块”。我们还讨论了以下主题:
- modulenotfounderror 没有名为“tensor flow . keras . layers . experimental . preprocessing”的模块
- modulenotfounderror 没有名为“tensorflow.keras.engine”的模块
- modulenotfounderror 没有名为“tensorflow.keras.layers.merge”的模块
- modulenotfounderror no module named ‘tensorflow.keras.utils.vis_utils’
- modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’
- modulenotfounderror 没有名为“tensor flow . keras . layers . embeddings”的模块
- modulenotfounderror 没有名为“tensor flow . keras . applications . resnet”的模块
- modulenotfounderror 没有名为“tensor flow . keras . layers . recurrent”的模块
Python 是美国最流行的语言之一。我已经与 Python 合作了很长一段时间,我在 Tkinter、panases、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库的工作方面很有经验。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的客户合作的经验。查看我的个人资料。
用 Python 做乘法并举例
在本 Python 教程中,我们将讨论如何在 Python 中进行乘法运算。此外,我们还将讨论:
- 如何在 Python 中实现数字相乘
- 如何在 Python 中乘浮点数
- 如何在 Python 中进行复数乘法
- 如何用 python 将字符串与整数相乘
- 使用 python 中的函数将两个数相乘
- 两个列表相乘
- 使用 math.prod python 将列表中的所有值相乘
- 使用遍历 python 将列表中的所有值相乘
- Python 元素式乘法
目录
- Python 中的乘法
- 如何在 Python 中实现数字相乘
- 如何在 Python 中乘浮点数
- 如何在 Python 中进行复数乘法
- python 中如何将字符串与整数相乘
- 使用 python 中的函数将两个数相乘
- 两个列表相乘 python
- 使用 math.prod python 将列表中的所有值相乘
- 使用遍历 python 将列表中的所有值相乘
- Python 元素式乘法
Python 中的乘法
现在,我们将讨论如何在 Python 中进行乘法。我们将会看到如何使用 python 中的函数将浮点数相乘、将复数相乘、将字符串与整数相乘以及将两个数相乘。
如何在 Python 中实现数字相乘
在 python 中,要乘数字,我们会使用星号字符 " * "
来乘数字。
举例:
number = 20 * 3
print('The product is: ',number)
写完上面的代码(如何在 Python 中进行数字相乘),你将打印出“数字”然后输出将显示为“乘积是:60”。这里,星号字符用于乘以数字。
可以参考下面的截图,用 python 做数字相乘。
How to multiply numbers in Python
这就是我们如何在 python 中实现数字相乘。
如何在 Python 中乘浮点数
在 python 中,我们也可以使用星号字符 " * "
将一个或两个数字相乘,当它是浮点数类型时,那么乘积就是浮点数。
举例:
number = 2.0 * 3.0
print('The product is: ',number)
写完上面的代码(如何在 Python 中乘浮点数),你将打印出“number”然后输出将显示为“产品是:6.0”。这里,星号字符用于乘以浮点数。
你可以参考下面的截图在 python 中乘浮点数。
How to multiply float numbers in Python
这就是我们如何在 python 中乘以浮点数。
如何在 Python 中进行复数乘法
在 python 中,要将复数相乘,我们使用 complex()
方法将两个数相乘,复数包含实部和虚部。这里,我们将第一个数字乘以第二个数字。
举例:
num1 = complex(2, 3)
num2 = complex(4, 6)
product = num1 * num2
print('The product of complex number is: ', product)
写完上面的代码(如何在 Python 中进行复数相乘),你将打印出“乘积”然后输出将显示为“复数的乘积是:(-10+24j)”。这里,复数()用于乘以复数。
可以参考下面截图用 python 做复数乘法。
How to multiply complex numbers in Python
这就是我们如何在 python 中乘法复数的方法
python 中如何将字符串与整数相乘
在 python 中,用一个整数乘以一个字符串,我们使用一个带参数的 def 函数,它会将字符串复制 n 次。
举例:
def row(s, n):
return s * n
print(row('Hello all ', 5))
写完上面的代码(如何在 python 中用一个整数乘字符串),你要打印的那些,然后输出将显示为" Hello all Hello all
Hello all**
Hello all**Hello all "
。这里, n 是 5,s 是"【Hello all ",它会返回 5 次重复的字符串。
你可以参考下面的截图,用 python 把字符串和整数相乘。
How to multiply string with an integer in python
这就是我们如何在 python 中用整数乘以字符串的方法。
使用 python 中的函数将两个数相乘
在 python 中,使用名为 def
的函数将两个数字相乘,它可以接受两个参数,返回结果将给出这两个数字的值。
举例:
def multiply(x,y):
return x*y;
num1=15
num2=5
print("The product is: ",multiply(num1,num2))
编写上述代码(使用 python 中的函数将两个数字相乘)后,您将打印一个数字,然后输出将显示为“产品是:75”。这里,我们为乘法定义函数,然后它将返回值。
你可以参考下面的截图,使用 python 中的函数将两个数相乘
Multiply two numbers using the function in python
这就是我们如何使用 python 中的函数将两个数相乘。
两个列表相乘 python
在 python 中,要将两个长度相等的列表相乘,我们将使用 zip()
来获取列表,它将相乘,然后被追加到一个新的列表中。
举例:
my_list1 = [5, 2, 3]
my_list2 = [1, 5, 4]
multiply = []
for number1, number2 in zip(my_list1, my_list2):
multiply.append(number1 * number2)
print(multiply)
写完上面的代码后(用 python 将两个列表相乘),你将打印出 "multiply"
,然后输出将显示为 " [5 10 12] " 。这里,我们将一个列表中的每个元素乘以另一个列表中的元素。
你可以参考下面的截图,用 python 把两个列表相乘
Multiply two lists python
使用 math.prod python 将列表中的所有值相乘
为了将列表中的所有值相乘,标准库中的数学模块中包含了一个 prod 函数。我们将使用导入数学来得到列表的乘积。
举例:
import math
my_list1 = [2, 5, 3]
my_list2 = [4, 1, 5]
s1 = math.prod(my_list1)
s2 = math.prod(my_list2)
print("The product of list1 is: ",s1)
print("The product of list2 is: ",s2)
写完上面的代码后(用 math.prod 将列表中的所有值相乘),你将打印出 "s1 s2"
,然后输出将显示为"列表 1 的乘积是:30,列表 2 的乘积是:20 " 。这里,我们将 list1 的所有元素相乘,然后将 list2 相乘,得到乘积。
你可以参考下面的截图,使用 math.prod 将列表中的所有值相乘
Multiply all value in the list using math.prod
使用遍历 python 将列表中的所有值相乘
要使用遍历将列表中的所有值相乘,我们需要将乘积的值初始化为 1。将每个数字乘以乘积,遍历到列表的末尾。
举例:
def Multiplylist(my_list):
r = 1
for a in my_list:
r = r * a
return r
l1 = [3,5,1]
l2 = [5,4,2]
print(Multiplylist(l1))
print(Multiplylist(l2))
写完上面的代码(使用遍历 python 将列表中的所有值相乘),你将打印出" Multiplylist(L1)Multiplylist(L2)"
,然后输出将显示为 " 15 40 "
。这里,我们将 l1 的所有元素相乘,然后将 l2 相乘,得到乘积。最终储存在产品中的价值会给你结果。
你可以参考下面的截图使用遍历 python 乘以列表中的所有值
Multiply all value in the list using traversal python
Python 元素式乘法
让我们看看如何在 python 中对元素进行乘法运算。
在 python 中,元素级乘法可以通过导入 numpy
来完成。为了将两个等长的数组相乘,我们将使用 np.multiply()
,它将逐元素相乘。
举例:
import numpy as np
m1 = [3, 5, 1]
m2 = [2, 1, 6]
print(np.multiply(m1, m2))
写完上面的代码(python 元素级乘法),你将打印出 "np.multiply(m1,m2)" ,然后输出将显示为 " [6 5 6] " 。这里,我们将每个元素相乘,它将返回两个 m1 和 m2 的乘积。
可以参考下面截图 python 元素式乘法。
Python element-wise multiplication
这就是我们如何在 python 中把两个列表相乘。
您可能会喜欢以下 Python 教程:
- Python 对于基数为 10 的 int()无效文字
- Python 元组排序列表
- 如何在 Python 中处理 indexerror:字符串索引超出范围
- 解析 Python 时出现意外的 EOF
- 删除 python 中的 Unicode 字符
- Python 中的注释行
- Python 将列表转换成字符串
- Python 方块一号
- 无换行符的 Python 打印
- Python 字典方法+示例
- 从字符串 Python 中删除字符
- 获取当前目录 Python
- python 中的百分号是什么意思
在本教程中,我们学习了如何用 Python 进行乘法运算。
- 如何在 Python 中实现数字相乘
- 如何在 Python 中乘浮点数
- 如何在 Python 中进行复数乘法
- 如何用 python 将字符串与整数相乘
- 使用 python 中的函数将两个数相乘
- 两个列表相乘
- 使用 math.prod python 将列表中的所有值相乘
- 使用遍历 python 将列表中的所有值相乘
- Python 元素式乘法
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
名称错误:Python 中未定义名称
在这个 Python 教程中,我们将讨论如何处理 nameerror: name 没有在 Python 中定义。我们将检查如何修复 python 3 中未定义的错误名称。
名称错误:未定义名称
在 python 中,当我们尝试使用无效的变量或函数名时,会引发 nameerror name is not defined。
举例:
value = ['Mango', 'Apple', 'Orange']
print(values)
写完上面的代码后,你将打印出 " values "
,然后错误将显示为" name error:name ' values ' is not defined "。在这里,变量名值拼写错误,所以我们得到这个错误。
可以参考下面截图名称错误名称未定义 python
NameError in python
为了解决这个name error:name is not defined python 3我们需要确保变量名拼写正确。
举例:
value = ['Mango', 'Apple', 'Orange']
print(value)
写完上述代码后,你将打印出 " value "
,然后输出将显示为 "[ 'Mango ',' Apple ',' Orange'] " 。这里,正确的变量名是“value”。所以,这样我们就解决了 python 中的错别字错误。
你可以参考下面的截图来移除 python 中的 nameerror。
Python nameerror: name is not defined
您可能会喜欢以下教程:
这是如何解决 Python 名称错误:名称未定义或名称错误:名称‘值’未在 python** 中定义**。
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
modulenotfounderror:没有名为“matplotlib”的模块
在本 Python 教程中,我们将讨论 modulenotfounderror:没有名为‘matplotlib’的模块,我们还将涉及以下主题:
- modulenotfounderror:没有名为 matplotlib windows 10 的模块
- modulenotfounderror:没有名为“matplotlib”Ubuntu 的模块
- modulenotfounderror 没有名为“matplotlib”的模块 python 3
- modulenotfounderror jupyter 笔记本中没有名为“matplotlib”的模块
- modulenotfounderror 没有名为“matplotlib”的模块 anaconda
- modulenotfounderror:没有名为“matplotlib”py charm 的模块
- modulenotfounderror:没有名为“matplotlib.pyplot”的模块;“matplotlib”不是一个包
目录
- modulenotfounderror:没有名为 matplotlib windows 10 的模块
- modulenotfounderror:没有名为“matplotlib”Ubuntu 的模块
- modulenotfounderror 没有名为“matplotlib”的模块 python 3
- modulenotfounderror 没有名为“matplotlib”的模块 jupyter 笔记本
- modulenotfounderror 没有名为“matplotlib”的模块 anaconda
- modulenotfounderror:没有名为“matplotlib”py charm 的模块
- modulenotfounderror:没有名为“matplotlib.pyplot”的模块;“matplotlib”不是一个包
modulenotfounderror:没有名为 matplotlib windows 10 的模块
检查您是否已经安装了 pip,只需在 python 控制台中编写 pip。如果你没有 pip,从网上获取一个名为 get-pip.py
的 python 脚本,保存到你的本地系统。pip 是 python 包安装程序。
记下文件保存的位置,并在命令提示符下将当前目录更改为该目录。
pip -- Press Enter
-- If you don't have a pip then
cd path_of_directory_of_get-pip_script
运行 get-pip.py 脚本来安装 pip,方法是在 cmd(命令提示符)中编写以下代码来安装 pip:
"python .\get-pip.py"
现在,在 cmd 中键入以下代码来安装 matplotlib 及其依赖项:
pip install matplotlib
错误将被解决,如果没有,然后通过这个帖子结束。
modulenotfounderror:没有名为“matplotlib”Ubuntu 的模块
如果您没有安装 matplotlib,那么要通过 APT 包管理器为 Python 3 安装 Matplotlib,您需要包 python3-matplotlib
:
sudo apt-get install python3-matplotlib
如果您想用 pip for python 2.7 安装它,您需要使用 pip:
sudo pip install matplotlib
如果错误仍然出现,请坚持到文章结束。
modulenotfounderror 没有名为“matplotlib”的模块 python 3
python 3 及以上版本可以用 pip 安装 matplotlib,你只需要用 pip3。
打开 python 控制台并执行下面给出的命令:
sudo pip3 install matplotlib
通过执行上述代码,将安装 python 的 matplotlib。
modulenotfounderror 没有名为“matplotlib”的模块 jupyter 笔记本
在项目目录中创建一个虚拟环境。如果您没有它,您必须通过在 cmd/terminal 中执行以下命令来安装 virtualenv。
virtualenv environment_name -- environment_name specifies the name of
-- the environment variable created
在虚拟环境中安装 matplotlib。
pip3 install matplotlib
现在,在您的虚拟环境中安装 ipykernel。
pip3 install ipykernel
将 jupyter 内核连接到新环境。
sudo python3 -m ipykernel install
当您启动 jupyter 笔记本时,您会看到选择环境的选项,选择您创建的安装了 matplotlib 的环境。现在,你可以继续下去了。
modulenotfounderror 没有名为“matplotlib”的模块 anaconda
如果您在安装 Anaconda 之前已经安装了 Python,原因可能是它运行的是您的默认 Python 安装,而不是随 Anaconda 一起安装的。你必须试着把它放在脚本的最前面:
#!/usr/bin/env python
如果这不起作用,重新启动终端,并尝试在 conda 提示符或 cmd 中安装带有 conda 的 matplotlib,看看它是否工作。
conda install matplotlib
如果问题仍然没有解决,也许你需要创建一个虚拟环境,就像上面提到的那样。
modulenotfounderror:没有名为“matplotlib”py charm 的模块
如果您正在使用 pycharm,并且当前工作目录中有 matplotlib.py,则可能会出现此错误。您只需删除或重命名 matplotlib.py 文件即可解决问题,这很可能会奏效。
modulenotfounderror:没有名为“matplotlib.pyplot”的模块;“matplotlib”不是一个包
该错误是由以下原因引起的,请检查它们:
- 确保您正在安装的 matplotlib 版本与您安装的 python 版本兼容。
- 如果安装的 python 是 64 位版本,matplotlib 是 32 位。确保它们是相同的。
- 确保使用 python 的路径为系统和环境变量添加路径变量。
- 如果 pip 版本过期,请将其升级到最新版本。
python -m pip install
- 还要确保导入语句中没有错别字。
- 如果错误仍然存在,请检查您的工作目录中是否有 matplotlib.py 文件。删除该文件,重启内核并再次导入 matplotib。那应该有用。
你可能也喜欢读下面的文章。
在本 Python 教程中,我们已经讨论了 modulenotfounderror:没有名为‘matplotlib’的模块,我们还讨论了以下主题:
- modulenotfounderror:没有名为 matplotlib windows 10 的模块
- modulenotfounderror:没有名为“matplotlib”Ubuntu 的模块
- modulenotfounderror 没有名为“matplotlib”的模块 python 3
- modulenotfounderror jupyter 笔记本中没有名为“matplotlib”的模块
- modulenotfounderror 没有名为“matplotlib”的模块 anaconda
- modulenotfounderror:没有名为“matplotlib”py charm 的模块
- modulenotfounderror:没有名为“matplotlib.pyplot”的模块;“matplotlib”不是一个包
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python NumPy 教程[初学者+高级]
Python 有一个名为 NumPy 的开源库,对于数学、分析和数据科学领域的编程非常有用。在 Python 中执行数学和统计计算,这个模块非常有用。
我们的 Python NumPy 教程解释了核心和高级 NumPy 主题。专业人士和初学者都可以从我们的 NumPy 教程中受益。
在本系列教程中,我们将演示 Python 中 NumPy 库的使用。您将获得更多关于数组的知识,并发现如何使用数学函数来操作它们。
Python NumPy 初学者教程
本节中的主题将帮助您开始编程。此外,它还将简单解释 NumPy 数组、数组中的索引以及某些基本操作。
- Python 中的 NumPy 是什么
- Python NumPy 数组简介
- Python NumPy 矩阵及其运算
- Python NumPy 空数组示例
- 如何在 NumPy Python 中使用不同的数据类型
- 如何在 NumPy Python 中创建二维数组
- 如何在 NumPy Python 中创建三维数组
- Python NumPy Random【30 例】
- 如何在 NumPy Python 中反转数组
- Python NumPy 索引–详细指南
- Python 复制 NumPy 数组
- Python NumPy 矩阵乘法
- Python NumPy 计数–实用指南
- Python NumPy 过滤器+ 10 个例子
- 如何在 NumPy 数组 Python 中获取唯一值–完整教程
- 如何在 Python 中把 numpy 数组转换成 list
- 检查 Python + Examples 中的 NumPy 数组是否为空
Python Numpy 数组方法
让我们进入下一阶段,学习如何使用 Python NumPy 的数学函数。
本教程还将向您展示如何在 NumPy 中创建和操作数组。并谈论其他有助于你理解主题的技巧。
- Python NumPy arange +示例
- Python NumPy append + 9 示例
- Python NumPy Sum +示例
- Python NumPy 0+示例
- Python NumPy arange +示例
- Python NumPy linspace +示例
- Python NumPy concatenate + 9 个例子
- Python NumPy 平均值与示例
- Python NumPy square 示例
- Python NumPy 日志+示例
- Python NumPy where with examples
- Python NumPy 绝对值举例
- Python NumPy nan–完整教程
- Python NumPy 重复
- Python NumPy Split + 11 示例
- Python NumPy max 带示例
- Python NumPy 形状示例
- Python NumPy argsort + 7 个例子
- Python NumPy 删除–完整教程
- Python NumPy 最小教程
- Python NumPy round + 13 例
- Python NumPy Median +示例
- Python NumPy 添加教程
- Python 数字差异示例
- Python NumPy 栈示例
Python Numpy 高级教程
在理解了 NumPy 中数组的创建和操作之后,我们将进入下一阶段,学习 NumPy 的输入和输出函数。
本节将向您展示如何修复 NumPy 中的错误。这里是一个完整的主题集合,您可以使用它来了解更多关于 NumPy 的信息。
- Python NumPy genfromtxt()–完整教程
- Python NumPy Savetxt +示例
- Python NumPy Replace +示例
- Python Numpy 未找到–如何修复
- Python Numpy 阶乘
- Python NumPy Normalize +示例
- 值错误:用序列设置数组元素
- Python NumPy 读取 CSV
面向对象编程 python
原文:https://pythonguides.com/object-oriented-programming-python/
在本 Python 教程中,我们将讨论面向对象编程 python ,我们将借助例子学习概念。
- python 中的面向对象编程
- 什么是 Python OOPs 概念
- 用 python 创建一个类
- python 中的实例属性
- python 中的类属性
- 用 python 创建一个对象
- python 中的 init 函数
- python 中的方法
- python 中的 Self 参数
- 用 python 创建一个对象和类
- Python 修改对象属性
- python 中的继承
- Python 中的继承类型
- python 中的方法覆盖
- python 中的方法重载
- Python 中的多态性
- python 中的封装
- Python 中的抽象
- Python 打印对象属性
目录
- Python 中的面向对象编程
- 什么是 Python OOPs 概念
- 用 python 创建一个类
- 在 python 中创建一个对象
- python 中的实例属性
- python 中的类属性
- python 中的 init 函数
- python 中的方法
- python 中的 Self 参数
- 在 python 中创建一个对象和类
- Python 修改对象属性
- python 中的继承
- Python 中的继承类型
- python 中的方法覆盖
- python 中的方法重载
- Python 中的多态性
- python 中的封装
- python 中的抽象
- Python 打印对象属性
Python 中的面向对象编程
Python 是一种面向对象的编程语言,它支持不同的编程方法,其中一种方法是通过创建“对象”,这意味着我们可以通过在程序中创建对象来解决 python 中的问题。
在 python 中,我们可以很容易地创建和使用类和对象,而且它专注于编写可重用的代码。
什么是 Python OOPs 概念
Python 面向对象编程概念包括类、对象、方法等,以及继承、多态、封装和数据抽象等 OOPs 特性。
用 python 创建一个类
一个类是对象的蓝图,为了创建一个类,我们将使用 class 关键字并从类中构造实例。
举例:
class student:
roll = 1
print(student)
写完上面的代码(用 Python 创建一个类),你将打印出 " student "
,然后输出将显示为 " <类' main。学生'> " 。这里,class 是关键字,class 名称是“student”。
可以参考下面截图用 python 创建一个类。
Create a class in python
在 python 中创建一个对象
让我们看看如何在 Python 中创建一个对象。
在 python 中,对象是真实世界的实体,它有自己的状态和行为,python 中的一切都是对象。要创建一个对象,我们可以使用类名。
举例:
class student:
roll = 1
a1 = student()
print(a1.roll)
写完上面的代码(用 python 创建一个对象),你将打印出 " a1.roll "
,然后输出将显示为 " 1 "
。这里,类名是“student ”,我们创建了 class student 的对象“a1 ”,我们将打印 roll 的值。
你可以参考下面的截图用 python 创建一个对象。
Create an object in python
python 中的实例属性
在 python 中,实例属性是附加到类实例的一个或多个属性。通过使用点符号来访问该实例。
举例:
class teacher:
def __init__(self):
self.name="John"
self.salary=100000
t1=teacher()
print(t1.name)
print(t1.salary)
- 写完上面的代码(python 中的实例属性)后,你将打印出
" t1.name t1.salary "
,然后输出将显示为" John 100000 "
。这里,实例属性由构造函数中的名和薪定义。 - 实例属性通过点符号 t1 来访问是实例名和。名称是属性名称。
可以参考下面 python 中的截图实例属性。
Instance Attribute in python
python 中的类属性
一个类属性是一个属性,它的值对于一个类的所有实例保持不变,称为类属性。它是在类级别定义的,而不是在方法内部定义的。class 属性的值由所有对象共享。
举例:
class teacher:
value = "Welcome"
print(teacher.value)
写完上面的代码(python 中的 class 属性),你将打印出 " teacher.value "
,然后输出将显示为 " Welcome "
。这里,通过使用类名“教师”和类属性来访问属性。值”。
可以参考下面 python 中的截图类属性
Class Attribute in python
python 中的 init 函数
在 python 中, init()是一个内置函数,所有的类都有一个名为 init 的函数,这个函数总是在类初始化时执行。我们使用 init()为对象属性赋值。
举例:
class student:
def __init__(self, name, roll):
self.name = name
self.roll = roll
a1 = student("Eelon", 24)
print(a1.name)
print(a1.roll)
在编写了上面的代码(python 中的 init 函数)之后,如果您将打印 " a1.name a1.roll "
,那么输出将显示为 " Eelon 24 "
。这里,类名是“student ”,我们使用 init 函数来赋值 name 和 roll,然后打印出值。
可以参考下面的截图 python 中的 init 函数。
The init function in python
python 中的方法
python 中的方法类似于函数,方法是定义在类体内的函数,用于定义对象的行为。
举例:
class student:
def __init__(self, name, roll):
self.name = name
self.roll = roll
def function(self):
print("Welcome to python " + self.name)
a1 = student("Elon", 24)
a1.function()
- 写完上面的代码(python 中的方法)后,如果你要打印
" a1.function() "
那么输出会显示为"欢迎使用 python Elon" 。 - 这里,类名是“student ”,我们使用 init 函数来赋值 name 和 roll,这里我的实例方法是“function()”,它被称为实例方法,因为它是在实例对象“a1”上调用的。
可以参考下面 python 中的截图方法。
Method in python
python 中的 Self 参数
self 参数用于引用一个类的当前实例,同样通过使用“self”我们可以访问 python 中一个类的属性和方法。我们可以使用另一个参数名来代替“self ”,但是它应该是类中任何函数的第一个参数。
举例:
class student:
def __init__(newobj, name, roll):
newobj.name = name
newobj.roll = roll
def function(newobj):
print("Welcome to python " + newobj.name)
a1 = student("Elon", 24)
a1.function()
在编写了上面的代码(python 中的 self 参数)之后,如果您将打印 " a1.function() "
,那么输出将显示为"欢迎使用 python Eelon " 。在这里,我们使用单词“newobj”代替 self,仍然得到相同的结果。
可以参考下面 python 中的截图自参数。
Self Parameter in python
在 python 中创建一个对象和类
类是对象的集合,或者我们可以说它是具有共同行为和属性的对象的蓝图。对象是具有状态和行为的类的实例。
举例:
class teacher():
def __init__(self,name,id,salary):
self.name = name
self.id = id
self.salary = salary
obj1 = teacher("Simon",101,12500)
print(obj1.__dict__)
- 写完上面的代码(用 python 创建对象和类),如果你会打印 " obj1。dict() " 那么输出会出现一个 " { '姓名':'西蒙',' id': 101,'薪金':12500} " 。
- 这里,‘obj 1’是针对类‘老师’实例化的对象。单词 'dict' 是一个字典,它打印带有给定参数的对象的所有值。
你可以参考下面用 python 创建对象和类的截图。
Create an object and class in python
Python 修改对象属性
在 python 中,可以修改对象的属性。在这里,我们将修改“卷”。
举例:
class student:
def __init__(self, name, roll):
self.name = name
self.roll = roll
def function(self):
print("Welcome to python " + self.name)
a1 = student("Elon", 24)
a1.roll = 30
print(a1.roll)
在编写了上面的代码(python 修改对象属性)之后,如果您将打印 " a1.roll() "
,那么输出将显示为 " 30 "
。这里,它将修改卷,我们需要设置 a1 的卷为 30,它将打印修改后的结果。
可以参考下面截图 python 修改对象属性。
Python modify object properties
python 中的继承
让我们试着用一个例子来理解 Python 中的继承。
继承是一个类从另一个类继承所有属性和方法的过程。新的类被称为派生类或子类,而派生它的类被称为父类或基类。
举例:
class Teacher():
def myfirst(self):
print('This is my first function')
class Child(Teacher):
def mysecond(self):
print('This is my second function')
obj = Child()
obj.myfirst()
obj.mysecond()
写完上面的代码(python 中的继承),如果你要打印,那么输出将显示为“这是我的第一个函数,这是我的第二个函数”。在这里,您可以使用子类对象来访问父类函数。
可以参考下面截图python
中的继承。
Inheritance in python
Python 中的继承类型
继承的类型取决于所涉及的子类和父类的数量。python 中有四种类型的继承。
- 单一遗传
- 多重遗传
- 多级遗传
- 分层继承
- 混合遗传
单一继承
在单继承中,子类只继承一个父类。
举例:
class Teacher():
def myfirst1(self):
print('This is my first function')
class Child(Teacher):
def mysecond2(self):
print('This is my second function')
obj = Child()
obj.myfirst1()
obj.mysecond2()
写完上面的代码(单继承),如果你要打印那么输出会显示为“这是我的第一个函数这是我的第二个函数”。在这里,您可以使用子类对象访问父类函数,并且子类继承单个父类的属性。
可以参考下面截图python
中的单继承。
Single Inheritance
多重继承
在多重继承中,一个子类从多个父类继承。
举例:
class Teacher1:
def myfirst1(self):
print('This is my first function')
class Teacher2:
def mysecond2(self):
print('This is my second function')
class Child(Teacher1,Teacher2):
def mythird3(self):
print('This is my third function')
obj = Child()
obj.myfirst1()
obj.mysecond2()
obj.mythird3()
- 写完上面的代码(多重继承),如果你要打印,那么输出将显示为“这是我的第一个函数,这是我的第二个函数,这是我的第三个函数”。
- 在这里,你既可以用子类对象继承父类的功能,又可以用子类继承多个父类的属性。
可以参考下面截图python
中的多重继承。
Multiple Inheritance
多级继承
在多级继承中,子类成为另一个子类的父类
举例:
class Teacher:
def myfirst1(self):
print('This is my first function')
class Child(Teacher):
def mysecond2(self):
print('This is my second function')
class Child2(Child):
def mythird3(self):
print('This is my third function')
obj = child()
obj.myfirst1()
obj.mysecond2()
obj.mythird3()
写完上面的代码(多级继承)后,如果你要打印,那么输出将显示为“这是我的第一个函数,这是我的第二个函数,这是我的第三个函数”。这里,子类充当另一个子类的父类。
可以参考下面截图python
中的多级继承。
Multilevel Inheritance
层次继承
在层次继承中,不止一个派生类继承父类的属性。
举例:
class Teacher:
def myfirst1(self):
print('This is my first function')
class Child(Teacher):
def mysecond2(self):
print('This is my second function')
class Child2(Teacher):
def mythird3(self):
print('This is my third function')
obj = Child()
obj1 = Child2()
obj.myfirst1()
obj.mysecond2()
obj1.myfirst1()
obj1.mythird3()
写完上面的代码(层次继承)后,如果你要打印,那么输出将显示为“这是我的第一个函数这是我的第二个函数这是我的第一个函数**
这是我的第三个函数”**。这里,我们有一个父类和两个子类或派生类。
可以参考下面截图python
中的层次继承。
Hierarchical Inheritance
混合遗传
混合继承涉及发生在单个程序中多种类型的继承。
举例:
class Teacher:
def myfirst1(self):
print('This is my first function')
class Child(Teacher):
def mysecond2(self):
print('This is my second function')
class Child2(Teacher):
def mythird3(self):
print('This is my third function')
class Child3(Child,Teacher):
def myfourth4(self):
print('This is my fourth function')
obj = Child3()
obj.myfirst1()
obj.mysecond2()
在编写了上面的代码(混合继承)之后,如果你要打印,那么输出将显示为“这是我的第一个函数,这是我的第二个函数。这里,多重继承发生在一个程序中。
**可以参考下面截图 python 中的混合继承。
Hybrid Inheritance
python 中的方法覆盖
- Python 方法覆盖意味着创建两个具有相同名称和相同参数数量的方法,但打印消息不同。
- 这里,方法覆盖允许我们在子类中改变或覆盖父类函数。方法重写是运行时多态性的一个例子。
举例:
class Teacher:
def new(self):
print("I am Teacher")
class Child(Teacher):
def new(self):
print("I am Child")
obj=Child()
obj.new()
- 在编写了上面的代码(python 中的方法覆盖)之后,如果要打印,那么输出将显示为“我是孩子。
- 这里,我们创建了一个教师类,它包含一个新的 as 方法和要打印的消息,我们还创建了一个子类,它继承了教师类的父类,并将覆盖消息。
**可以参考下面 python 中的截图方法 overriding。
Method Overriding in python
python 中的方法重载
- Python 方法重载意味着我们可以有相同的名字但不同的参数,一个方法可以有一个或多个参数。
- 用不同的方式调用同一个方法,在 python 中称为方法重载。方法重载是编译时多态性的一个例子。
举例:
class Teacher:
def new(self, name=None):
if name is not None:
print('Welcome ' + name)
else:
print('Welcome')
obj = Teacher()
obj.new()
obj.new('sam')
- 写完上面的代码(python 中的方法重载)后,如果要打印,那么输出将显示为“欢迎欢迎 Sam”****。
- 我们创建了一个包含一个
new()
方法的教师类。我们首先调用不带任何参数的方法obj.new()
,它输出“欢迎”,下一次我们调用带参数值的方法“Sam ”,这样我们可以用两种方式调用 new()方法。
关于 python 中的方法重载,可以参考下面的截图。
Method Overloading in python
Python 中的多态性
- Python 中的多态性表示不止一种形式。同样,我们可以说它是一种以不同形式出现的情况。
- 多态性是编程中的重要概念之一。例如,我们知道“+”运算符用于将两个整数相加,对于字符串,相同的“+”运算符用于字符串连接。
举例:
val1 = 10
val2 = 20
print(val1+val2)
- 写完上面的代码(python 中的多态)后,如果要打印,那么输出将显示为
" 30
"
。 - 这里,
" + "
运算符用于将两个整数相加,这里我们还将看到字符串连接,因此这里的" + "
运算符可以对不同的数据类型执行不同的运算。
可以参考下面 python 中的截图多态性。
Polymorphism in Python
举例:
string1 = "Welcome"
string2 = "Python Guides"
print(string1+" "+string2)
- 在编写了上面的代码(python 中的多态性)之后,如果要打印,那么输出将显示为“欢迎 Python 指南”。
- 这里,
" + "
操作符用于连接两个字符串,因此," + "
操作符可以对不同的数据类型执行不同的操作。这样,多态性就起作用了。
你可以参考下面的截图。
Polymorphism in Python
python 中的封装
- 封装是将变量和方法包装成一个单元的过程,它是 Python 中面向对象编程的基本概念。
- 在 python 中,虽然没有使用(__)双下划线的显式访问修饰符,但我们可以使变量私有。
举例:
class Teacher:
def __init__(self, name, salary):
self.name = name
self.__salary = salary
def disp(self):
print(self.name)
print(self.__salary)
teacher = Teacher('Suzan', 500000)
teacher.disp()
print(teacher.name)
print(teacher.__salary)
- 写完上面的代码(用 python 封装)后,如果要打印,那么输出将显示为“Suzan 500000****”。
- 在这里,您可以看到仍然可以通过使用属于类的方法和私有变量“salary”来访问该变量。
- 不能从外部直接访问,会抛出一个名为“属性错误”的错误。
可以参考下面 python 中的截图封装。
Encapsulation in python
python 中的抽象
- 在 python 中,抽象用于隐藏内部细节和显示功能。抽象意味着隐藏真正的实现,并知道如何作为用户使用它,这是通过使用抽象类和接口来实现的。
- 抽象类是提供不完整功能的类,接口提供没有方法体的方法名。
举例:
from abc import ABC,abstractmethod
class teacher(ABC):
def teach_id(self, id, name, salary):
pass
class child1(teacher):
def teach_id(self,id):
print("teach_id is 14520")
teach1 = child1()
teach1.teach_id(id)
- 写完上面的代码(python 中的抽象),如果你要打印,那么输出将显示为“teach _ id 是 14520”****。
- 这里,我们已经导入了一个抽象方法,并且我们有了父类和子类。
- 此外,对象被实例化为‘child 1’,并且使用了 abstract 的功能。
可以参考下面 python 中的截图抽象。
Abstraction in python
Python 打印对象属性
属性是类中的变量或方法。要打印一个对象的属性,我们可以使用object。dict" 它返回对象所有名称和属性的字典。
举例:
class x:
val = None
def f():
pass
print(x.__dict__)
写完上面的代码(python 打印对象属性),一旦你将打印 "x.__dict__"
那么输出就会出现。在这里,使用对象。dict 将打印一个对象的属性。
你可以参考下面的 python 打印对象属性截图
Python print object attributes
您可能会喜欢以下 Python 教程:
- Python 匿名函数
- Python 访问修饰符+示例
- Python 数组与示例
- Python For 循环示例
- Python 读取 excel 文件并在 Python 中写入 Excel
- Python 创建空集
- Python 关键字与示例
- Python While 循环示例
- 名称错误:Python 中没有定义名称
- Python 中的字符串方法及示例
- Python 检查变量是否为整数
在本教程中,我们学习了 python 中的面向对象编程,也看到了如何通过一个例子来使用它:
- python 中的面向对象编程
- 什么是 Python OOPs 概念
- 用 python 创建一个类
- python 中的实例属性
- python 中的类属性
- 用 python 创建一个对象
- python 中的 init 函数
- python 中的方法
- python 中的 Self 参数
- 用 python 创建一个对象和类
- Python 修改对象属性
- python 中的继承
- Python 中的继承类型
- python 中的方法覆盖
- python 中的方法重载
- Python 中的多态性
- python 中的封装
- Python 中的抽象
- Python 打印对象属性
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
操作系统更改目录 Python
在这个 python 教程中,你将了解到 Os 更改目录 python 我们也将检查 :
- 如何使用 chdir()改变目录
- 检查当前工作目录
- 更改目录例外
- Python 操作系统更改目录名
- Python os 获取当前目录的绝对路径
目录
如何使用 chdir() 更改目录
现在,我们可以看到如何在 python 中使用 chdir() 改变目录。
- 在这个例子中,我已经将模块作为
os
导入。 os.chdir
用于改变目录。- 当目录改变时,改变的目录作为输出被打印。
示例:
import os
os.chdir(r"C:\Users\Administrator.SHAREPOINTSKY\Desktop\Work")
print("Changed Directory")
下面的截图显示了输出。
Change directory using chdir()
这是如何在 Python 中使用 chdir()改变目录。
你可能会喜欢,如何打印 Python 斐波那契数列。
检查 Python 中的当前工作目录
这里可以看到如何在 python 中检查当前工作目录。
- 在这个例子中,我导入了一个名为
os
的模块。 - 这里,我们使用的是
os.chdir
和路径。 os.getcwd()
返回当前目录。- 为了获得输出,我使用了 print("当前目录:",cwd) 。
示例:
import os
cwd = os.getcwd()
print("Current directory :", cwd)
我们可以看到当前目录作为输出。你可以参考下面的截图。
Check the current working directory
这段代码我们可以用来检查 Python 中的当前工作目录。
在 Python 中更改目录异常
现在,我们可以看到如何在 python 中改变目录异常。
- 在这个例子中,我导入了一个名为
sys
和 os 的模块。 os.getcwd()
返回当前目录- 错误的目录被分配为FD =‘工作/办公室’。
- try 块用于检查代码块。
- 如果出现任何错误,则使用除之外的。
- 执行 finally 块,并使用
os.getcwd
获取当前目录。
示例:
import sys, os
cwd = os.getcwd()
fd = 'work/office'
try:
os.chdir(fd)
print("Inserting inside-", os.getcwd())
except:
print("Wrong directory")
finally:
print("Restoring the path")
os.chdir(cwd)
print("Current working directory is-", os.getcwd())
您可以参考下面的输出截图。
Changing the directory exceptions
Python os 更改目录名
现在,我们可以看到用 python 让 os 改变目录名。
- 在这个例子中,我导入了一个名为
os
的模块。分配源路径和目的路径,并且在目的路径中,新目录的名称被写成办公室。 - os.rename(source,destination) 用于重命名目录。
- 我用过 print(“重命名成功。”)得到输出。
示例:
import os
source = r'C:\Users\Administrator.SHAREPOINTSKY\Desktop\Newfolder'
destination = r'C:\Users\Administrator.SHAREPOINTSKY\Desktop\office'
os.rename(source, destination)
print("Renamed successful.")
下面的截图显示了输出。
Python os change directory name
这就是我们如何在 Python OS 中更改目录名。
Python os 获取当前目录的绝对路径
现在,我们可以看到 os 在 python 中获得当前目录的绝对路径。
- 在这个例子中,我导入了一个名为 module
os
的模块。 os.chdir
用于改变当前目录以指定当前目录。os.path.abspath
用于查找绝对路径。
示例:
import os
os.chdir(r"C:\Users\Administrator.SHAREPOINTSKY\Desktop\office")
print(os.path.abspath("work"))
我们可以将绝对路径视为输出。您可以参考下面的输出截图。
Python os get absolute path of the current directory
上面的代码我们可以用来获取 Python 中当前目录的绝对路径。
您可能会喜欢以下 Python 教程:
在本 Python 教程中,我们学习了 **
Os 更改目录 python**
。此外,我们还讨论了以下主题:
- 如何使用 chdir()改变目录?
- 检查当前工作目录
- 更改目录例外
- Python 操作系统更改目录名
- Python os 获取当前目录的绝对路径
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
将 Python 输出到 html Django
原文:https://pythonguides.com/outputting-python-to-html-django/
在本 Python Django 教程中,我们将了解将 Python 输出到 HTML Django 的实现。我们还会看到与此相关的不同例子。这些是我们将在本教程中讨论的以下主题。
- 输出到 HTML 的基本步骤
- 如何在项目中包含应用程序
- 如何访问应用程序 url
- 如何访问视图
- Django 的模板
- 在 Django 运行服务器
- 将 python 输出到 html Django
目录
输出到 HTML 的基本步骤
既然我们已经学习了如何在控制台或终端中表示程序输出,现在是时候学习如何使用 Django 模板在 HTML 页面上显示它了。在这一节中,我们将学习使用 Django 将 Python 输出到 HTML 的一些基本步骤。
步骤#1 安装 Django
安装 Django 是第一步也是最重要的一步。Python pip 可以用来快速安装 Django。它作为一个包管理器来管理 Python 包。
我们可以使用 pip 来安装不属于 Python 发行版的包。在命令提示符下执行以下命令来下载并安装 Django。
pip install django
Install Django
步骤 2 测试 Django 安装
安装 Django 后,使用命令提示符测试 Django 是否安装成功。
命令:
django-admin --version
Django Version
第三步 Django 项目
下一个关键步骤是创建 Django 项目。因此,首先,导航到您希望保存项目的目录。在终端中,执行以下命令来创建 Django 项目。
django-admin startproject project_name
你可以给这个项目起任何你喜欢的名字,但是要简短和相关,因为你将会建立大型网站。
注:
不,你不必每次开始一个新项目时都重新安装 Django。一旦您用 pip 安装了它,现在您所要做的就是运行 django 项目创建命令。
在这里,我创建了一个名为 PythonGuides 的 Django 项目。
Django Project
第 4 步 Django 应用程序
对于每一项功能,应用程序都可以构建为一个完全独立的模块。要在 Django 项目中创建一个基本的应用程序,请编写以下命令。
python manage.py startapp app_name
**#OR** django-admin startapp app_name
在这里,我创建了一个名为 home 的 Django 应用程序。
Django App
第五步安装应用
要将应用程序包含在您的项目中,请将您的应用程序名称添加到项目的 settings.py 中的已安装应用程序列表中。
Installed App
如何在项目中包含 app
在上一节中,我们学习了如何创建项目和应用程序,以及如何安装应用程序。现在,我们将在这一部分学习如何将一个应用程序包含到我们的项目中。
要使用 URL 来呈现应用程序,我们必须将它们包含在我们的主项目中,以便可以呈现路由到它的 URL。以下是使用 URL 的步骤。
- 打开项目目录。
- 打开项目目录下的 urls.py 文件。
- 添加标题。
- 您现在必须在 URL 模式列表中指定应用程序名称,以便包含您的应用程序 URL。
Project Directory
Project’s urls.py file
python guides URLs . py 文件源代码:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls'))
]
如何访问 app 网址
在本节中,我们将了解如何访问应用程序的 URL。项目的 urls.py 文件将无法访问应用程序的 URL 文件,因为它不包含在应用程序目录中。为了正确执行 Django Web 应用程序,必须完成以下步骤。
- 在 apps 目录中创建一个 urls.py 文件。
- 添加代码。
App Directory
App’s urls.py File
home URLs . py 文件源代码:
from django.urls import path, include
from home import views
urlpatterns = [
path('', views.home, name='home'),
]
如何访问视图
在这一节中,我们将学习如何在 Django 中访问视图。视图函数,也称为“视图”,是一个接收 web 请求并提供 web 响应的 Python 函数。这个响应可以是网页的 HTML 内容、重定向、404 错误、XML 文档、图像或其他任何东西。
在 Django 中,视图必须在 app views.py 文件中定义。我们可以用两种方式在 Django 中创建视图:基本视图和 MVT 模式视图。
- 基本视图:为了在基本视图中呈现 HTML 页面,我们使用了 HttpResponse。但是,这不是最有效的呈现页面的方式。
- MVT 模式视图:为了创建先例视图,Django 支持 MVT 模式。因此,我们在这个视图中呈现一个模板。
App’s view.py File
views . py 文件源代码:
from django.shortcuts import render, HttpResponse
# Create your views here.
def home(request):
return render(request, 'home.html')
Django 中的模板
在这一节中,我们将学习使用模板系统生成 HTML 页面。首先,我们将了解 Django 模板。
Django 的模板系统使得创建动态 HTML 页面变得简单。模板由您想要创建的 HTML 输出的静态部分组成。Django 模板引擎允许我们通过将设计从 python 代码中分离出来来开发动态网页。
下面是使用模板生成 HTML 页面的步骤。
- 创建模板目录
- 模板配置
- 创建 HTML 页面。
步骤#1 创建模板目录
首先,打开项目应用程序并创建一个目录模板。
Template Directory
步骤#2 模板配置
我们必须在 settings.py 文件中提供一些项目来配置模板系统。我们的模板目录的名称是 templates
,正如我们前面指出的。DjangoTemplates 默认在每个安装的应用子目录中搜索一个模板子目录。
Templates
第三步
然后,在新形成的模板文件夹中,创建一个模板 HTML 页面。
HTML File
home.html 文件的源代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet">
<title>PythonGuides!</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">PythonGuides</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</ul>
<form class="d-flex">
<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>
<div class="container my-3">
<h1 style="text-align:center;">Welcome to Python Guides</h1>
</div>
<div class="card">
<div class="card-body">
<h3 style="text-align:center;">Thanks for landing on this page to know more about PythonGuides.com.</h3>
<br>
<h6>I welcome you to the website and hopefully, you got to learn something in Python. I started this website
to share my finding and learnings in Python with you.</h6>
<h6>To keep things simple, I am trying to write a lot of articles on Python. Feel free to give your valuable
comments and also share the articles if you are liking and hoping it will be helpful to someone.</h6>
<br>
<h2 style="text-align:center;">Also, Subscribe to Our YouTube Channel for FREE Python Video Tutorials.</h2>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
在 Django 运行服务器
在这一节中,我们将学习在 Django 中运行服务器。Django 开发服务器提供了一个很棒的本地开发服务器,开发者可以用它来预览代码更新和测试 Django 支持的网站特性。
在终端中运行以下命令启动服务器。
python manage.py runserver
Run Server In Django
将 python 输出到 HTML Django
在本节中,我们将在浏览器上看到 HTML Django 输出。
于是,运行开发服务器后,我们需要打开一个浏览器,打开下面的网址 http://127.0.0.1:8000/ 。
Django Output
另外,看看更多的 Django 教程。
在这个 Django 教程中,我们已经了解了将 python 输出到 HTML Django 的实现。这是我们在本教程中涉及的主题的完整列表。
- 输出到 HTML 的基本步骤
- 如何在项目中包含应用程序
- 如何访问应用程序 url
- 如何访问视图
- Django 的模板
- 在 Django 运行服务器
- 将 python 输出到 html django
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 熊猫数据帧条目
在这个 Python 熊猫教程中,我们将学习如何使用 Python 在熊猫数据框架中使用 iterrows()函数。此外,我们将涵盖这些主题。
- 熊猫数据框架条目索引
- 熊猫数据帧慢行
- 熊猫数据帧 iterrows 更新值
- 熊猫数据框架 iterrows 添加列
- 熊猫数据帧反转
- 熊猫系列
- 熊猫用 iterrows 更新数据帧
- 熊猫 iterrows 返回数据帧
- 熊猫数据框架 itertuples vs iterrows
- Pandas 数据帧 iterrows 设置值
- Pandas 循环的数据帧项目
- 熊猫数据帧条目更改值
目录
- python data frame ETR rows
- 熊猫数据框 iterrows 索引
- 熊猫数据帧增加缓慢
- 熊猫数据帧 iterrows 更新值
- 熊猫数据框 iterrows 添加列
- 熊猫数据帧反转
- 熊猫系列 iterrows
- 熊猫用 iterrows 更新数据帧
- 熊猫 iterrows 返回数据帧
- 熊猫数据帧 itertuple vs iterrows
- Pandas DataFrame iterrows 设定值
- 熊猫数据帧 iterrows for loop
- 熊猫数据帧 iterrows 改变值
python data frame ETR rows
- 在这个程序中,我们将讨论如何使用
iterrows()
方法迭代数据帧的行。 - 在 Python 中,Pandas
data frame . ITER rows()
方法用于遍历 Pandas DataFrame 的每一行,它总是返回一个迭代器来存储每一行的数据。 - 有各种方法来迭代数据帧行。
- 通过使用 iterrows()方法
- 通过使用 itertuple()方法
通过使用 iterrows()方法
在 Python 中,Pandas 有一个 iterrows()
方法,它将帮助用户遍历 Pandas 数据帧的每一行和每一列。
语法:
下面是 iterrows()方法的语法
DataFrame.iterrows()
- Index:Pandas 数据帧中行的索引和 multiindex 的元组。
- 数据:它总是以熊猫系列的形式返回行数据。
举例:
让我们举个例子,看看如何用熊猫来遍历行
import pandas as pd
df = pd.DataFrame([[26,16,18,8.7,2.9,1.9]], columns=[
'George', 'John', 'Micheal', 'Oliva', 'Chris', 'Hemosworth'])
new_itr = next(df.iterrows())[1]
print(new_itr)
在上面的代码中,我们首先导入了一个 pandas 模块,然后创建了一个 dataframe 和一个列名。现在通过使用 iterrows()
方法迭代数据框行。
下面是以下代码的截图
Python DataFrame Iterrows
读取, Python 将数据帧转换为列表
通过使用 itertuple()方法
- 在 Python 中,
itertuple()
方法将 Pandas 数据帧的行和列作为 namedtuples 进行迭代。当我们在 Pandas DataFrame 中使用这个函数时,它返回一个 map 对象。 - 在这个方法中,元组的第一个值将是行索引值,其余的值作为行值。
语法:
下面是 itertuple()方法的语法
DataFrame.itertuples(
index=True,
name='Pandas'
)
- 它由几个参数组成
- Index: 如果值为 True,那么它将返回索引作为元组的第一个值。
- 名称:该参数指定返回的元组。
源代码:
import pandas as pd
new_dt = {
"Country_name": ["Australia", "Newzealand", "Germany"],
"new_values": [672, 193, 881]
}
result = pd.DataFrame(new_dt)
for new_row in result.itertuples():
print(new_row)
首先在上面的程序中,我们将创建一个字典,其中包含以键和值的形式出现的元素。现在创建一个数据帧并分配一个字典‘new _ dt’。一旦您将打印‘new _ row’,那么输出将以 tuple 的形式显示。
下面是以下给定代码的执行过程
Python DataFrame Iterrows using itertuple
阅读:熊猫删除栏目
熊猫数据框 iterrows 索引
- 让我们看看如何使用索引遍历数据帧的行和列。
- 通过使用
iterrows()
函数,我们可以执行这个特定的任务,在这个例子中,我们将创建一个具有五行的数据帧,并使用iterate()
方法进行迭代。
源代码:
import pandas as pd
new_dt = pd.DataFrame([['Rose', 'Tulip', 'Lilly', 'Jasmine',
'Lotus']])
new_iteration = next(new_dt.iterrows())[1]
print(new_iteration)
下面是以下给定代码的输出
Pandas DataFrame iterrows index
通过使用 for 循环+ iterrows()方法
在这里,我们可以看到如何迭代 dataframe 的行和列,还可以通过使用 iterrows()
方法来访问行的索引。
源代码:
import pandas as pd
new_val = pd.DataFrame({
'Country_name': ['China', 'Japan', 'Malayasia', 'Bangladesh'],
'dict_val': [721, 618, 178, 389]})
for index, row in new_val.iterrows():
print(index, ': ', row['Country_name'], row['dict_val'])
你可以参考下面的截图
Pandas DataFrame iterrows index using loop
熊猫数据帧增加缓慢
- 在这个程序中,我们将讨论 iterrows()方法为什么很慢。
- 在 Python iterrows 中,与 itertuples()方法相比,性能非常慢,因为当在 iterrows()中迭代时应用多个函数时,每一行都有自己的属性,这使得它更慢。
- Python pandas 中有各种方法比 iterrows 方法(如(itertuple ))性能更好。
熊猫数据帧 iterrows 更新值
- 这里我们可以看到如何创建一个 Pandas 数据帧并在逐行迭代时更新。
- 在这个例子中,我们已经更新了数据帧的内容,还需要迭代熊猫数据帧的行和列。
源代码:
import pandas as pd
new_data = [(62, 19, 634, 189) ,
(156, 178, 156, 762) ,
(109, 447, 390, 643)
]
df = pd.DataFrame(new_data, columns=['George', 'Micheal' , 'Oliva', 'Elijah'])
for new_ind, select_row in df.iterrows():
df.at[new_ind , 'Oliva'] = select_row['Oliva'] * 3
print(df)
在上面的程序中,我们通过将列‘Oliva’中的每个值乘以 3
来更新它。一旦您将打印‘df’,那么输出将以更新的数据帧的形式显示。
下面是以下给定代码的实现
Pandas DataFrame iterrows update value
阅读: Python 熊猫掉行
熊猫数据框 iterrows 添加列
- 让我们看看如何使用
iterrows()
和 iloc 方法在 Pandas 数据帧中添加一列。 - 通过使用索引位置和 iloc 方法,我们可以解决此任务。在本例中,我们创建了一个数据帧,并使用 row 在其中添加了一个新列。
- 在 Python 中,iloc 方法用于选择数据集的指定行,这有助于从数据帧中选择属于特定列的值。
源代码:
import pandas as pd
import numpy as np
new_dt = pd.DataFrame(columns=list('mn'), data = np.random.randn(6,2))
print(new_dt)
for new_ind,row in new_dt.iterrows():
new_dt.loc[new_ind,'o'] = np.random.randint(0, 8)
print("Updated dataframe:")
print(new_dt)
在上面的程序中,我们使用 np 创建了一个数组。random() 函数。现在我必须在现有数组中添加一列,为此我们必须使用 iloc
方法并在其中分配一个新列。
下面是以下给定代码的实现
Pandas DataFrame iterrows add a column
熊猫数据帧反转
- 这里我们可以看到如何通过使用
iloc
方法来反转一个数据帧行。 - 通过使用
iloc
,我们可以通过索引位置访问每一行。在这个例子中,我们可以使用一个循环,通过索引反向遍历数据帧的行。
源代码:
import pandas as pd
Student_info = [('William', 689, 'Micheal', 591) ,
('John', 148, 'Potter' , 109) ,
('Hmsworth', 776, 'Chris', 314)
]
new_result = pd.DataFrame(Student_info, columns=['Stu_name', 'Stu_id', 'Stu2_name', 'Stu2_id'], index=['m', 'o', 'p'])
for m in range(new_result.shape[0] - 1, -1, -1):
Final_output = new_result.iloc[m]
print(Final_output.values)
在上面的程序中,我们首先导入了一个 pandas 模块,然后创建了一个存储了多个元组的列表。现在,我们必须通过申请 iloc 和索引位置来逆向迭代数据帧中的行。
为了完成这项任务,我们创建了一个数据帧‘new _ result’,然后循环遍历最后一个索引到第 0 个索引。一旦您将打印‘最终输出’,那么输出将显示反转数据帧中的行数。
你可以参考下面的截图
Pandas DataFrame iterrows reverse
熊猫系列 iterrows
- 让我们看看如何使用
series.iterrows()
方法迭代熊猫数据帧中的行。 - Python 中的系列。iterrows 方法返回一个可迭代列表或元组(index,value)。在 Python 中,
iloc
方法用于选择数据集或数据帧的指定单元格。
源代码:
import pandas as pd
Student_info = [('Oliva', 178, 'Canada', 223) ,
('Elijah', 567, 'Newyork' , 350) ,
('George', 921, 'Malayasia', 1334)
]
new_val = pd.DataFrame(Student_info, columns=['Stu_name', 'Stu_id', 'Stu_add', 'stu_age'])
for index in new_val.index:
val_series = new_val.loc[index]
print(val_series.values)
在上面的例子中,我们必须结合使用 for 循环和 iloc 方法来迭代 dataframe 的列和行。
下面是以下代码的截图
Pandas series iterrows
另一个如何在 DataFrame 中使用 series.iterrows()
函数的例子。
这是使用 series.iterrows()
方法迭代 DataFrame 中的行的另一种方法。它将总是返回一个包含序列对的可迭代元组。
源代码:
import pandas as pd
new_data = pd.Series(['m', 'n', 'o'])
for index, value in new_data.items():
print(f"Index_val : {index}, New_Value : {value}")
下面是以下给定代码的输出
Pandas series iterrows
熊猫用 iterrows 更新数据帧
- 这里我们可以看到如何用 iterrows ()方法来更新 Pandas 数据帧。
- 在 Python 中,
iterrows()
方法将帮助用户根据给定的条件更新值或列,在本例中,我们使用 for 循环来获取 Pandas 数据帧的每一行,iterrows 方法总是返回一个存储每一行数据的迭代器。
举例:
让我们举一个例子,看看如何用 iterrows 更新数据帧
import pandas as pd
new_val = [(14, 21, 189, 49) ,
(981, 445,156,109) ,
(267, 871, 156,456)
]
df = pd.DataFrame(new_val, columns=['Chris', 'Hemsworth' , 'George', 'Elijah'])
for new_ind, select_row in df.iterrows():
df.at[new_ind , 'George'] = select_row['George'] * 4
print(df)
在上面的例子中,我们必须通过将列‘乔治’中的每个值乘以 4
来更新它。打印“df”后,输出将以更新数据帧的形式显示。
你可以参考下面的截图
Pandas update DataFrame with iterrows
阅读: Python 熊猫 CSV 教程
熊猫 iterrows 返回数据帧
- 在这个程序中,我们将讨论如何使用 Python 中的 iterrrows()函数返回熊猫数据帧。
- 在 Python 中,有时我们需要迭代熊猫数据帧的列和行,而不使用 for 循环方法。因此,在这种情况下,我们将使用
iterrows()
方法迭代(index,series)对形式的行。
语法:
下面是 iterrows()
方法的语法。
DataFrame.iterrows()
源代码:
让我们举一个例子,了解如何为每一行返回一个序列
import pandas as pd
df = pd.DataFrame([['Banana', 'Cherry', 'Grapes', 'Oranges',
'Apple', 'litchi']])
new_val = next(df.iterrows())[1]
print(new_val)
在上面的程序中,我们通过使用 iterrows()
方法迭代 Pandas 数据帧,并且没有列名。
下面是下面给出的代码的截图。
Pandas iterrows return DataFrame
熊猫数据帧 itertuple vs iterrows
- 这里我们可以看到 Pandas 数据帧中 itertuple 和 itertool 方法之间的区别
- 在 Python 中,
itertuple()
方法将 Pandas 数据帧的行作为命名元组进行迭代。而iterrows()
是一个对 Pandas 数据帧的行和列进行迭代的方法。 - 在 Python 中,
iterrows()
方法总是返回一个序列,而 itertuple 返回一个命名元组。如果您想使用索引和getattr()
方法访问值,那么 namedtuple 的分配值是有序的。 - 在 Python 中,这两种方法都是 Pandas 内置的函数,可以遍历 Pandas 数据帧。迭代时,我们可以通过使用 i
terrows()
方法声明多个函数。而itertuples()
调用的函数比iterrows()
少。
源代码:
import pandas as pd
new_dictionary = {'Student_name': ['Micheal', 'John', 'william', 'jonas'],
'Student_id': [66,24,91,118],
'Student_address': ['China', 'Japan', 'France', 'Ireland'],
'Student_age': [18,21,32,28]}
df = pd.DataFrame(new_dictionary, columns = ['Student_name','Student_id','Student_address','Student_age'])
for index, row in df.iterrows():
print (row['Student_name'], row['Student_age'])
print (row['Student_address'], row['Student_age'])
#itertuple
Employee_dictionary= {'Emp_name': ['Noah', 'Lijah', 'Hayden', 'Adam'],
'Emp_unique_id': [612, 883, 945, 7119],
'Desgination': ['Tester', 'Gamer', 'Quality assurance', 'Production'],
'Emp_add': ['Germany','Paris','Bangladesh','Moscow']}
df = pd.DataFrame(Employee_dictionary, columns = ['Emp_name', 'Emp_unique_id', 'Desgination', 'Emp_add'])
for row in df.itertuples(index = True, name ='Python'):
print (getattr(row, 'Emp_name'), getattr(row, "Emp_add"))
在上面的程序中,我们使用 itertuples()
和 iterrows()
方法创建数据帧。现在我们想尝试迭代熊猫数据帧的行和列。
在 itertuple()
示例中,DataFrame 方法的‘索引’和‘名称’参数为真,它将返回元素的值和名称。
下面是以下给定代码的输出。
Pandas DataFrame itertuple vs itertool
阅读: Python 将数据帧转换为列表
Pandas DataFrame iterrows 设定值
- 这里我们可以看到如何在使用
iterrows()
方法时设置 Pandas DataFrame 中的值。 - 通过使用索引位置和 iloc 方法,我们可以设置数据帧中行的值。
举例:
import pandas as pd
new_df = pd.DataFrame([[64, 118, 801],
[249, 321,963],
[136, 589, 501]],
index=[0,1,2],
columns=['m', 'n', 'o'])
print(pd.DataFrame(new_df))
new_df.loc[0, 'm'] = 812
new_df.loc[1, 'n'] = 678
new_df.loc[2, 'o'] = 512
print(pd.DataFrame(new_df))
在上面的程序中,我们已经设置了‘m’,‘n’,和‘o’的值,并通过使用 iloc 和 index 方法迭代数据帧的行。一旦您将打印' new_df' ,那么输出将显示更新的数据帧。
你可以参考下面的截图
Pandas DataFrame iterrows set value
阅读: Python 字典增量值
熊猫数据帧 iterrows for loop
- 在这个程序中,我们将讨论如何在 Pandas 数据帧中使用 for 循环和 iterrows 方法来迭代数据帧的行和列。
- 在 Pandas 中,for 循环方法通常用于迭代作为元组对的数据帧的列和行。
- 让我们创建一个熊猫数据框架,并检查如何在程序中应用这种方法。在下面的代码‘df’中包含了关于四个人的学生数据‘斯图 _ 姓名’和‘斯图 _ id’的信息。现在使用
iterrows()
函数获取迭代的行。
举例:
import pandas as pd
new_stu_info = {'stu_name': ['Chris', 'oliva', 'Elite', 'jonas'],
'stu_id': [167,524,132,267]}
df = pd.DataFrame(new_stu_info, columns = ['stu_name','stu_id'])
for index, row in df.iterrows():
print (row['stu_name'], row['stu_id'])
下面是以下给定代码的执行过程
Pandas DataFrame iterrows for loop
阅读: Python 列表字典
熊猫数据帧 iterrows 改变值
- 让我们看看如何修改 Pandas 数据框架中的值。
- 为了完成这个特定的任务,我们可以应用
iterrows()
的概念,并在 DataFrame 中获取更新后的值。
源代码:
import pandas as pd
new_elements = [(102, 115, 721, 845) ,
(334, 578, 439, 120) ,
(290, 389, 164, 510)
]
df = pd.DataFrame(new_elements, columns=['Banana', 'Apple' , 'Oranges', 'Grapes'])
for new_ind, select_row in df.iterrows():
df.at[new_ind , 'Apple'] = select_row['Apple'] * 6
print(df)
在上面的程序中,我们修改了列‘Apple’中的每个值,将它乘以 6
。一旦您将打印‘df’,那么输出将以更新的数据帧的形式显示。
下面是以下给定代码的实现
Pandas DataFrame iterrows change the value
相关帖子:
在本教程中,我们学习了如何使用 Python 在 Pandas DataFrame 中使用 iterrows()
函数。此外,我们已经讨论了这些主题。
- 熊猫数据框架条目索引
- 熊猫数据帧慢行
- 熊猫数据帧 iterrows 更新值
- 熊猫数据框架 iterrows 添加列
- 熊猫数据帧反转
- 熊猫数据帧 iterrows 跳过第一行
- 熊猫系列
- 熊猫用 iterrows 更新数据帧
- 熊猫 iterrows 返回数据帧
- 熊猫数据框架 itertuples vs iterrows
- Pandas 数据帧 iterrows 设置值
- Pandas 循环的数据帧项目
- 熊猫数据帧条目更改值
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
熊猫删除栏
在这个 Python 熊猫教程中,我们将讨论关于熊猫删除列和如何使用熊猫在数据帧中删除列的一切。
- 熊猫删除列数据框
- 熊猫按名字删除栏目
- 熊猫按索引删除列
- 如果存在,熊猫删除列
- 熊猫按条件删除列
- 熊猫删除带 NaN 的列
- 熊猫删除列,如果所有南
- 熊猫按位置删除列
- 熊猫删除没有名字的专栏
- 熊猫删除列标题
- 熊猫删除栏目除外
- 在熊猫数据框架中删除第一列
- 删除熊猫数据框中的最后一列
- 在 Pandas 数据框架中删除多列
- 删除 Pandas 数据框架中的重复列
- 删除熊猫数据框架中的第一列
- 删除 Pandas 数据框架中的列名
- 落柱熊猫系列
- 在熊猫数据框架中删除一列
- 熊猫数据框架中的下拉列表
我们使用了从 Kaggle 下载的电动汽车数据集。
目录
- 熊猫删除列数据框
- 熊猫删除列名
- 熊猫按索引删除列
- 熊猫删除列如果存在
- 熊猫按条件删除列
- 熊猫删除带 NaN 的栏目
- 熊猫删除列如果所有楠
- 熊猫按位置删除列
- 熊猫删除没有名字的栏目
- 熊猫删除列标题
- 熊猫删除除外的栏目
- 在熊猫数据框中删除列
- 在熊猫数据框中删除第一列
- 从数据帧中删除第一列
- 删除熊猫数据框的最后一列
- 删除熊猫数据帧的最后一列
- 在 Pandas 数据框架中删除多列
- 如何在 Pandas 中放置多列
- 删除熊猫数据框架中的重复列
- 删除熊猫数据框中的第一列
- 删除熊猫数据框中的列名
- 降柱熊猫系列
- 在熊猫数据框中删除一列
- 在 Pandas 数据框中下拉列列表
熊猫删除列数据框
在这一节中,我们将学习如何使用 Python 从数据帧中删除列。
- 在 Python Pandas 中,有三种方法可以从数据帧中删除列。drop(),delete(),pop()。
- dop() 是 Python Pandas 中最常用的移除行或列的方法,我们也将使用同样的方法。
语法:
这是 Python Pandas 中 drop()方法的语法。
df.drop(
labels=None,
axis: 'Axis' = 0,
index=None,
columns=None,
level: 'Level | None' = None,
inplace: 'bool' = False,
errors: 'str' = 'raise',
)
- 标签–提供行或列的名称
- axis–1 表示行,0 表示列,如果标签是列名,则提供 axis=1。
- index–axis 0 =标签,如果使用行,则提供索引
- 列–轴=1,列=标签
- 就地–如果设置为 True,则更改将立即生效。不需要重新分配值。
- 错误–如果设置为“引发”,则当出现问题时会出现错误。
在 jupyter 笔记本的例子中,我们已经演示了所有这些方法。
如何在 Python 中使用 Pandas drop()函数【有用教程】
这个 Python 教程都是关于 Python 熊猫滴()函数的。我们将看到如何在 Python 中使用 Pandas drop()函数。此外,我们还将讨论以下主题:
在本教程中,我们将学习如何使用熊猫的。Drop 是数据科学中使用的一个主要函数&机器学习来清理数据集。此外,我们将涵盖这些主题
-
熊猫 drop 语法
-
熊猫下降栏
- 熊猫逐列下降指数
- 熊猫有条件降柱
- 如果存在熊猫,则删除列
- 熊猫和南一起下栏
- 熊猫用全零删除列
- 熊猫读 CSV 时掉柱
- 没有名字的熊猫掉柱
- 熊猫掉柱除了
- 熊猫删除非数字列
-
熊猫掉行
- 熊猫有条件地放弃争吵
- 熊猫行,南列
- 熊猫删除带有 nan 的行 + 熊猫删除特定列中带有 nan 的行
- 熊猫用条件字符串删除行
- 熊猫会删除任何列中有值的行
- 熊猫掉落一排排
- 熊猫在列中删除零行
- 熊猫下降标题行
- 熊猫丢弃非整数行
- 熊猫丢弃非数字行
- 熊猫放下空行
- 熊猫丢弃丢失的行
-
在 Pandas 数据框架中删除具有 NaN 值的列
-
删除 Pandas 数据框架中具有 NaN 值的列替换
-
在 Pandas 数据帧中删除具有 NaN 值的列
目录
- 熊猫滴()功能
- 熊猫滴语法
- 熊猫降柱
- 熊猫掉行
- 在 Pandas 数据帧中删除具有 NaN 值的列
- 删除 Pandas 数据帧中 NaN 值的列替换
- 删除 Pandas 数据帧中具有 NaN 值的列,得到最后一个 Non
熊猫滴()功能
Python 中的 Pandas drop()函数用于从行和列中删除指定的标签。Drop 是数据科学中使用的一个主要函数& 机器学习来清理数据集。
Pandas Drop()函数从行或列中删除指定的标签。使用多索引时,可以通过指定级别来删除不同级别上的标签。
刚接触 Python 熊猫?查看一篇关于 Python 中熊猫的文章。
熊猫滴语法
下面是 Pandas drop()函数语法。
DataFrame.drop(
labels=None,
axis=0,
index=None,
columns=None,
level=None,
inplace=False,
errors='raise'
)
选择 | 说明 |
---|---|
标签 | 要删除的单个标签或类似列表的 |
索引或列标签。 | |
轴 | 拖放将移除提供的轴,轴可以是 0 或 1。 |
轴= 0 表示行或索引(垂直) | |
轴= 1 表示列(水平) | |
默认情况下,轴= 0 | |
指数 | 单一标签或列表式。 |
索引是行(垂直方向)&相当于轴=0 | |
列 | 单一标签或列表式。 |
表格视图中的列是水平的&用轴=1 表示。 | |
水平 | int 或 level name,对于 MultiIndex 可选 |
,标签将从哪个级别移除。 | |
适当的 | 接受布尔值(真或假),默认为假 |
在原地进行更改,然后&在那里进行更改。不需要给变量赋值。 | |
错误 | 错误可以是'忽略了或'引发了。默认为“引发” |
如果忽略,则抑制错误,仅删除现有标签 | |
如果引发,则显示错误消息&不允许删除数据。 |
看看吧,Python 熊猫里的 Groupby。
熊猫降柱
让我们看看如何使用熊猫降柱。
蟒蛇皮熊猫
在这个 Python 机器学习教程中,我们将学习 Python 中的熊猫我们也将涉及这些话题。
- Python 文档中的熊猫库
- 通过康达安装熊猫
- 通过 Pip 安装 Pandas
- 熊猫版本检查
- Python 中的熊猫类型
- 熊猫的头部功能
- 熊猫的尾巴功能
目录
Python 文档中的熊猫库
Python Pandas
是机器学习&数据科学中广泛使用的库,用于数据分析。它允许创建、读取、操作&删除数据。- 您可能认为结构化查询语言也提供了类似的特性。所以主要的区别是文件类型。Pandas 几乎可以使用任何文件类型,而结构化查询语言仅限于数据库文件。
- Pandas 易于使用,集成了许多数据科学和机器学习工具,有助于为机器学习准备数据。
- 熊猫有两种物体
- 系列图像 #将链接添加到系列图像部分
- DataFrame #向 DataFrame 部分添加一个链接
- 点击这里看熊猫官方文档。
Pandas in Python
通过康达安装熊猫
- Conda 是一个包管理器,用来安装机器学习所必需的库。
- 在这一节中,我们将学习如何使用 conda 包管理器安装 pandas。
- 首先是创造一个环境。点击此处学习如何创建环境。
- 创建环境后,激活环境。
- 现在,一旦创建并激活了环境,只需输入下面的代码来安装 Pandas。
conda install pandas -y
- 这里
-y
表示对y/n
提示的是。根据带宽速度,安装可能需要几分钟时间。 - 注意:我们希望传播正确的编程方式,否则同样的事情可以在不创建虚拟环境的情况下完成。
通过 pip 安装熊猫
- pip 是为 python 安装的一个包。它有各种各样的 python 库,可以安装用于多种目的。
- 如果您想了解更多关于 pip 的信息,或者您想知道如何在您的系统上安装 pip,请点击此处。
- 我们假设您的系统上安装了 pip。
- 现在我们要在全球安装
virtualenv
,这样我们就可以创建一个虚拟环境。
语法:
下面是在系统上全局安装 virtualenv 的语法。
pip install virtualenv
- 要安装 pandas,首先我们必须创建并激活一个虚拟环境,我们将在其中安装所有必要的库。
# creating virtual environment with the name env
virtualenv env
# activating environment for windows
env/Scripts/activate
# activating environmnt for mac & linux
Source env/bin/activate
- 现在要安装熊猫,只需输入
pip install pandas
- 注: 我们希望传播正确的编程方式,否则同样的事情不用创建虚拟环境也能完成。
熊猫版本检查
找到在任何系统上运行的 Pandas 的给定版本的依赖项的版本。我们可以使用 pd.show_versions()
的效用函数来检查版本的依赖关系。此处提供的信息用于解决问题。
Python 熊猫替换多个值–15 个示例
在这个 Python 熊猫教程中,我们将学习如何使用 Python 来替换熊猫数据帧中的多个值。此外,我们将涵盖这些主题。
- 熊猫根据条件替换一列中的多个值
- 熊猫替换列中的多个值
- 熊猫用一个值代替多个值
- 熊猫取代多值正则表达式
- 熊猫用 nan 替代多个值
- 熊猫替换一列中的多个值
- 熊猫替换多个行值
- 熊猫替换多个列中的特定值
- 熊猫根据条件替换多列中的多个值
- 熊猫一次替换多个值
- 熊猫一次替换多个角色
- 熊猫替换多个字符串值
- 熊猫替换字符串中的多个字符
- 熊猫字符串替换多个值
- 熊猫从列表中删除多个值
- 熊猫发现并取代多重价值
目录
- 熊猫取代多值
- 熊猫根据条件替换一列中的多个值
- 熊猫替换列中的多个值
- 熊猫用一个值代替多个值
- 熊猫替换多值 regex
- 熊猫用 nan 替换多个值
- 熊猫替换一列中的多个值
- 熊猫替换多行值
- 熊猫替换多列中的特定值
- 熊猫根据条件替换多列中的多个值
- 熊猫一次替换多个值
- 熊猫替换多个字符串值
- 熊猫替换字符串中的多个字符
- 熊猫字符串替换多个值
- 熊猫替换列表中的多个值
- 熊猫发现并替换多个值
熊猫取代多值
- 在本期节目中,我们将讨论如何在熊猫 Python 中替换多个值。
- 要替换数据帧中的多个值,我们可以应用方法
DataFrame.replace()
。在 Pandas 中,DataFrame replace 方法用于替换 DataFrame 对象中的值。 - 在 Python 中,我们可以使用这种技术来替换多个列,这种方法也用于替换 Pandas 数据帧中的正则表达式、字典和序列。
语法:
下面是 DataFrame.replace()
方法的语法
DataFrame.replace
(
to_replace=None,
value=None,
inplace=False,
limit=None,
regex=False,
method='pad'
)
- 它由几个参数组成
- to_replace: 该参数指定我们想要替换的值。
- Value: 默认情况下其值为 none,指定新的替换值。
- inplace: 如果条件为真,则替换并将返回 None。默认情况下,其值为 False。
- limit: 指定最大尺寸间隙,默认为无。
- regex: 该参数检查条件如果为真则 to_replace 必须为字符串。
- 方法:用于替换值的方法。
举例:
让我们举个例子,看看如何替换 DataFrame 中的多个值
import pandas as pd
new_data = pd.DataFrame([
[18,-78, 47],
[19, 84, -92],
[94, 73, 668],
[809, 719, -356],
[113,115,119]],
columns=['m', 'o', 'p'])
new_result = new_data.replace({'m':{94:19, 809:123}, 'p':{-92:63, -356:189}})
print(new_result)
在上面的程序中,我们将使用 replace()
方法来替换 Dataframe 中的值。在本例中,我们将用 19
替换 94
,并用【T10’m’列中的 123
替换 809
。同样,我们将替换列‘p’中的值。
下面是以下给定代码的执行过程
Pandas replace multiple values
阅读: Python 熊猫掉行
熊猫根据条件替换一列中的多个值
- 让我们看看如何根据条件替换一列中的多个值。
- 通过使用 DataFrame.loc 方法,我们可以执行这个特定的任务。在 Pandas DataFrame 中,
loc()
方法用于指定我们需要过滤掉的列和行的名称。所以我们也可以使用loc()
方法过滤数据。 - 这是一个独特的方法,从 Pandas DataFramem 中检索行,并且这个方法只接受索引标签。当在 Pandas 数据帧上使用 loc 方法时,我们已经指定了要在格式中调整哪些行和列。
语法:
DataFrame.loc()
举例:
import pandas as pd
new_val = pd.DataFrame([
[89, 17, 15],
[115, 178, -5],
[114, 190, 824]],
columns=['val1', 'val2', 'val3'])
new_val.loc[(new_val.val1 < 100), 'val1'] = 0
print(new_val)
在上面的代码中,我们替换了满足条件的列'val 1 '中的值。在这个例子中,我们声明了一个条件,如果列值小于 100
,那么它将被 DataFrame 替换。
下面是以下给定代码的实现
Pandas replace multiple values in a column based on condition
通过使用 NumPy.where 函数
在 Python 中基于条件替换列中的值,我们可以使用方法 numpy。其中()。在 Python 中,该方法将帮助用户在基于给定条件进行过滤后从 numpy 数组中返回元素的索引。
语法:
下面是 numpy.where()方法的语法
numpy.where(condition[,x,y])
注意: x 和 y 参数指定从中选择的值,并总是返回包含元素的数组
举例:
import pandas as pd
import numpy as np
new_data = pd.DataFrame([
[18, 278, 897],
[55, 77, 91],
[678, 456, 118]],
columns=['z', 'u', 't'])
new_data['u'] = np.where((new_data.u < 200), 44, new_data.u)
print(new_data)
在上面的代码中,我们使用了 numpy.where()
方法,并替换了满足条件的列‘u’中的值。在这个例子中,我们已经声明了一个条件,如果列值小于 200
,那么它将被 44
替换。
下面是以下给定代码的实现
Pandas replace multiple values in a column based on condition
使用 DataFrame.where()
函数根据条件替换一列中多个值的另一种方法。
在这个方法中,我们将指定必须替换哪些值的列名,并且我们还将根据条件替换给定列中的现有值。
语法:
DataFrame.where
(
cond,
other=nan,
inplace=False,
axis=None,
Level=None,
error='raise',
try_cast=Nodefault.no_default
)
源代码:
import pandas as pd
data = pd.DataFrame([
[76, 119,168],
[346, 345, 156],
[99, 145, 908]],
columns=['Col1', 'Col2', 'Col3'])
data['Col3'].where(~(data.Col3 < 200), other=76, inplace=True)
print(data)
下面是以下给定代码的输出
Pandas replace multiple values in a column based on condition
熊猫替换列中的多个值
- 让我们看看如何使用 Python Pandas 替换特定列中的多个值。
- 在这个例子中,我们将看到如何替换列中的多个值。为此,我们将使用 Python 内置函数 DataFrame.replace。
- 通过使用
DataFrame.replace()
方法,我们将用多个新字符串或文本替换单个 DataFrame 列的多个值。这个方法搜索整个 Pandas 数据帧并替换每个指定的值。
源代码:
import pandas as pd
Country_name = pd.DataFrame({'Country_name':['Germany', 'England', 'France', 'England', 'Germany']})
b= Country_name.replace({'Country_name':{'England' : 'China', 'Germany' : 'japan' }})
print(b)
在这个程序中,我们将指定需要替换的列名‘Country _ name’,在上面的代码中,我们已经声明了需要用新值替换的特定值。
下面是以下代码的截图
Pandas replace multiple values in column
阅读:熊猫删除栏目
熊猫用一个值代替多个值
- 这里我们可以看到如何用一个值替换多个值。
- 在这个程序中,我们将用一个特定的字符串替换多个字符串。为了执行这个特定的任务,我们可以应用替换和
dict.fromkeys()
方法的组合。 - 在 Python 中,字典。fromkeys()是一个内置函数,它用来自给定序列和值的键声明一个新字典。
语法:
下面是 fromkeys()方法的语法
dict.fromkeys(seq[,value])
- 它由几个参数组成
- 序列:该参数指定了所有值的列表。
- Value: 这是一个可选参数,默认情况下其值为 none。
举例:
import pandas as pd
Employee_name = pd.DataFrame({'Employee_name':['john','george','Micheal','oliva']})
print(Employee_name)
b= Employee_name.replace(dict.fromkeys(['john','george','Micheal','oliva'], 'Micheal'))
print("After replacing the values:")
print(b)
在上面的程序中,我们用‘Micheal’字符串替换了所有的字符串。一旦你将打印‘b’输出将只显示数据帧中的‘迈克尔’值。
你可以参考下面的截图
Pandas replace multiple values with one value
阅读: Python 将数据帧转换为列表
熊猫替换多值 regex
- 在这个程序中,我们将讨论如何使用 regex 方法替换 Pandas DataFrame 中的多个值。
- 这里我们可以看到如何替换匹配正则表达式的字符串。在 Python 中使用正则表达式使用
replace()
方法替换字符串。 - 在 Python 中,正则表达式用于匹配给定字符串中的字符组合,它还定义了搜索模式。Python 模块 're' 提供了正则表达式。
语法:
DataFrame.replace
(
to_replace=None,
value=None,
inplace=False,
limit=None,
regex=False,
method='pad'
)
源代码:
import pandas as pd
df = pd.DataFrame({'City':['Ger-many', 'Eng-land', 'Fr-ance', 'Eng-land', 'Ger-many']})
new_value = {
'CITY': {
r'(G.*Ge|Germany.*)': 'Ger-many',
r'E[ng]*[oo]*.*': 'Fraan ce'}
}
b= df.replace(new_value, regex=True, inplace=True)
print(b)
下面是以下代码的截图
Pandas replace multiple values regex
熊猫用 nan 替换多个值
- 这里我们可以看到如何用 nan 替换多个值。
- 在这个程序中,我们将了解如何用 nan 值替换值。为了完成这项任务,我们将应用
DataFrame.replace()
方法的概念。 - 在 Python 中,nan 代表的不是数字,而是数据帧中缺失的值,这些是 Python 中的特殊值。
源代码:
import pandas as pd
import numpy as np
new_data = pd.DataFrame([
[76,889, 156],
[19, 84, 467],
[94, 73, 321],
[116, 609,557],
[156,864,467]],
columns=['u', 'o', 'z'])
new_result = new_data.replace({'o':{84:np.nan, 609:np.nan}, 'u':{94:np.nan, 156:np.nan}})
print(new_result)
在上面的程序中,我们将使用 replace()
方法来替换 Dataframe 中的值。在本例中,我们将在列‘o’中用 nan 替换 84
,用 nan 替换 809
。同样,我们将替换列‘u’中的值。
下面是以下给定代码的执行过程
Pandas replace multiple values with nan
阅读:计算熊猫数据帧中的行数
熊猫替换一列中的多个值
- 在这个程序中,我们将讨论如何替换一个特定列中的多个值。
- 为了执行这个任务,我们将使用方法
DataFrame.replace()
和 check to replace()方法来解决这个问题。在本例中,我们将在‘国家名称’列下用新的整数值替换【T2’‘国家名称’值。 - 在 Pandas 中,DataFrame replace 方法用于替换 DataFrame 对象中的值。
源代码:
import pandas as pd
Country_name = pd.DataFrame({'Country_name':['China', 'Malaysia', 'Newzealand', 'Paris', 'Bangladesh']})
m= Country_name.replace({'Country_name':{'Malaysia' : 56, 'Paris' : 778 }})
print(m)
在上面的程序中,我们希望用多个新值替换单个或特定 Pandas DataFrame 列的多个值。
下面是以下给定代码的输出。
Pandas replace multiple values in one column
熊猫替换多行值
- 让我们看看如何替换 Pandas 数据帧中的多个行值。
- 通过使用 DataFrame.loc 方法,我们可以执行这个特定的任务。在 Pandas DataFrame 中,
loc()
方法用于指定我们需要过滤掉的列和行的名称。所以我们也可以使用loc()
方法过滤数据。 - 在 Python 中,这个方法从 Pandas 数据帧中检索行,它也用于布尔数组。
举例:
import pandas as pd
new_data = pd.DataFrame([
[187, 634, 138],
[779, 908, 346],
[459, 709, 116]],
columns=['new_val1', 'new_val2', 'new_val3'])
new_data.loc[(new_data.new_val2 < 800), 'new_val2'] = 92
print(new_data)
在上面的代码中,我们替换了满足条件的列' new _ val 2′中的值。在这个例子中,我们声明了一个条件,如果列值小于 800
,那么它将被 DataFrame 替换。
你可以参考下面的截图
Pandas replace multiple row values
熊猫替换多列中的特定值
- 在本节目中,我们将讨论如何替换多个列中的特定值。
- 在本例中,键指定了列值,我们希望替换 DataFrame 中可用的特定值。
- 这里我们可以使用 Pandas
data frame . replace()
函数来更改或修改多个列值。要完成这项任务,首先使用随机模块中的 sample 函数创建数据,然后创建两个存储数据的列表。
源代码:
import pandas as pd
from random import sample
new_val = ["Rose", "Lilly","Jasmine","Lotus"]
my_val1 = sample(new_val,4)
my_val2 = sample(new_val,4)
my_val3 = sample(new_val,4)
df = pd.DataFrame({"col1":my_val1,
"col2":my_val2,
"col3":my_val3,
})
print(df)
b= df.replace({"Rose":"Banana",
"Lilly":"Apple",
"Jasmine":"Oranges",
"Lotus":"Grapes"})
print(b)
在上面的例子中,我们创建了一个 DataFrame 对象,并在其中插入了三列。现在我们想替换所有给定的特定列的值。
下面是以下给定代码的实现
Pandas replace specific values in multiple columns
阅读: Python 数据帧到 CSV
熊猫根据条件替换多列中的多个值
- 在这个程序中,我们将讨论如何替换基于条件的多个列中的多个值。
- 通过使用熊猫。Series.map() 方法我们可以解决这个任务。此方法用于映射两个给定序列中的值,这两个序列具有特定的列,并且序列的结束列应该与索引列相同。
语法:
下面是熊猫的句法。Series.map()方法
Series.map(arg, na_action=None)
举例:
import pandas as pd
new_df = pd.DataFrame(dict(
new_val=['values {}'.format(m) for m in [8, 9, 6, 9, 8]],
Other=range(5)
))
print(new_df)
dct = {'value 1': 6789,
'value 2': 95678,
'value 3': 399456}
b= new_df.assign(new_val=new_df.new_val.map(dct))
print(b)
下面是以下代码的截图
Pandas replace multiple values in multiple columns based on condition
熊猫一次替换多个值
- 让我们看看如何在 Pandas 数据帧中一次替换多个值。
- 为了执行这个任务,我们可以使用
DataFrame.replace()
方法一次替换多个值。 - 在这个例子中,我们已经创建了多个列‘val 1’和‘val 2’,我们在其中传递了字符串值,然后创建了一个 DataFrame 对象并在列表中分配了列名。
源代码:
import pandas as pd
new_val = {'Val1': ['Rose','Rose','Lilly','Jasmine','Jasmine','Rose','Lilly','Lilly'],
'Val2': ['Australia','Germany','Germany','Australia','Germany','Germany','Australia','Australia']
}
df = pd.DataFrame(new_val, columns= ['Val1','Val2'])
df['Val1'] = df['Val1'].replace(['Lilly'],'Lotus')
df['Val2'] = df['Val2'].replace(['Germany'],'China')
print (df)
在上面的程序中,一旦你要打印' df ',那么输出将显示‘Lotus’值,而不是‘Lilly’。同样,在第二列中,‘德国’的值已经被替换为‘中国’。
下面是以下代码的截图
Pandas replace multiple values at once
熊猫替换多个字符串值
- 这里我们可以看到如何替换 Pandas 数据帧中的多个字符串值。
- 在 Python 中,字符串是字符的集合,字符只是一个符号,字符串可以用单引号或双引号表示。现在我们想替换熊猫数据帧中的多个字符串值。
- 为了完成这个任务,我们将使用
replace()
方法的概念。此方法用新字符串替换字符串的所有匹配项。
举例:
import pandas as pd
Fruit_name = pd.DataFrame({'Fruit_name':['Mangoes', 'Apple', 'Grapes', 'Litchi', 'Cherry']})
m =Fruit_name.replace({'Fruit_name':{'Apple' : 'Banana', 'Grapes' : 'Pears' }})
print("Replace string values:",m)
在上面的代码中,我们希望将单个 DataFrame 列的多个字符串值替换为多个新的字符串值。在这个例子中,我们将用‘香蕉’替换‘苹果’字符串值。
你可以参考下面的截图
Pandas replace multiple string values
熊猫替换字符串中的多个字符
- 这里我们可以看到如何使用 DataFrame 替换字符串中的多个字符。
- 在这个例子中,我们将应用 Python 内置的函数,即
replace()
和join()
。在 Python 中,join()
方法用于将一个字符串附加到 iterable 对象,并通过附加列表中所有可用的元素来返回一个新字符串。
举例:
import pandas as pd
df = pd.DataFrame({'High_level': ['Python language', 'Java language', 'Ruby language', 'C++ language']})
new_val = '|'.join(['Java', 'Ruby'])
df['High_level'] = df['High_level'].str.replace(new_val, 'Programming')
print(df)
在上面的例子中,我们创建了一个 dataframe 对象‘df’,在这个对象中,我们传递了一个键值对元素。在 Pandas 数据帧中,关键元素被认为是列名。在这个程序中,我们想要替换给定字符串中的多个字符。为了完成这项任务,首先我们将创建一个列表,并通过使用 join()
方法分配替换元素。
下面是以下给定代码的实现
Pandas replace multiple characters in a string
阅读: Python 熊猫 CSV 教程
熊猫字符串替换多个值
- 在这个程序中,我们将讨论如何使用
str.replace()
方法替换一个字符串中的多个值。 - 这里我们可以使用字符串数据类型的
replace()
方法将值替换为不同的值。 - 在 Python 中
str.replace()
方法将帮助用户用新值替换给定字符串中旧文本的匹配元素。
语法:
str.replace(old,new [,count])
- 它由几个参数组成
- old: 该参数指定应从数据帧中替换的字符或文本。
- new: 将替换旧文本的新字符串或文本。
- 计数:这是一个可选参数
源代码:
import pandas as pd
Employee_name = pd.DataFrame({'Employee_name':['Chris', 'Hayden', 'Potter', 'William', 'George']})
c= Employee_name.replace({'Employee_name':{'Chris' : 'Hemsworth', 'Potter' : 'Adam' }})
print(c)
在上面的代码中,我们首先导入了 Pandas 模块,然后创建了 dataframe 对象‘Employee _ name’。现在我们必须使用 replace()方法返回一个新的字符串。一旦你打印了‘c’,那么输出将在熊猫数据帧中显示新的字符串。
你可以参考下面的截图
Pandas str replace multiple values
熊猫替换列表中的多个值
- 让我们看看如何替换 Pandas DataFrame 中给定列表中的多值。
- 这里我们可以应用
DataFrame.replace()
方法的概念,它将帮助用户替换列表中的多个值。
源代码:
import pandas as pd
import numpy as np
new_data = pd.DataFrame([
[168,489, 136],
[134, 378, 996],
[152, 73, 321],
[116, 609,557],
[156,864,467]],
columns=['l', 'm', 'n'])
new_result = new_data.replace({'m':{378:960, 609:11}, 'n':{996:109, 557:338}})
print(new_result)
在上面的代码中,我们必须使用 replace()
方法来替换 Dataframe 中的值。在本例中,我们将用 960
替换 378
,并用【T10’m’列中的 11
替换 609
。同样,我们将替换列‘n’中的值。
下面是以下给定代码的输出
Pandas replace multiple values from a list
另外,请阅读:检查 Python Pandas 中的 DataFrame 是否为空
熊猫发现并替换多个值
- 在这里,我们可以看到如何在 Pandas 数据帧中查找和替换多个值。
- 通过使用
np.where()
函数,我们可以执行这个任务,这个方法将帮助用户在根据给定的条件过滤后返回 numpy 数组中元素的索引。
举例:
import pandas as pd
import numpy as np
new_val = pd.DataFrame([
[18, 278, 897],
[55, 77, 91],
[678, 456, 118]],
columns=['l', 'o', 'p'])
new_val['o'] = np.where((new_val.o < 200), 56, new_val.o)
print(new_val)
下面是以下代码的截图
Pandas find and replace multiple values
在这篇 Pandas 教程中,我们学习了如何使用 Python 来替换 Pandas 数据帧中的多个值。此外,我们已经讨论了这些主题。
- 熊猫根据条件替换一列中的多个值
- 熊猫替换列中的多个值
- 熊猫用一个值代替多个值
- 熊猫取代多值正则表达式
- 熊猫用 nan 替代多个值
- 熊猫替换一列中的多个值
- 熊猫替换多个行值
- 熊猫替换多个列中的特定值
- 熊猫根据条件替换多列中的多个值
- 熊猫一次替换多个值
- 熊猫一次替换多个角色
- 熊猫替换多个字符串值
- 熊猫替换字符串中的多个字符
- 熊猫字符串替换多个值
- 熊猫从列表中删除多个值
- 熊猫发现并取代多重价值
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
熊猫用 0 代替 nan
在这个 Python 熊猫教程中,将学习如何在 Python 中使用熊猫用 0 替换 nan 值。此外,我们将涵盖这些主题。
- 熊猫用栏中的 0 替换 nan
- 熊猫对多列用 0 代替 nan
- 熊猫在一列中用 0 代替 nan
- 熊猫用 0 代替 nan
- 熊猫用 0 代替 nan
- 熊猫系列用 0 代替 nan
- 熊猫合并用 0 替换 nan
- 熊猫用 0 填充 nan 值
- 熊猫 read_csv 用 0 替换 nan
- 熊猫将所有列中的 nan 替换为 0
- 将 nan 替换为 0 熊猫列表
- 熊猫用 0 代替字符串 nan
- 熊猫 sum 用 0 代替 nan
- 熊猫枢轴用 0 替换 nan
目录
- 熊猫用 0 换下南
- 熊猫在栏中用 0 代替 nan
- 熊猫用 0 替换多列的 nan
- 熊猫在一列中用 0 代替南
- 熊猫用 0 换下南
- 熊猫用 0 换下南
- 熊猫系列用 0 替换南
- 熊猫合并用 0 替换 nan
- 熊猫用 0 填充 nan 值
- 熊猫将所有列中的 nan 替换为 0
- 将南换成 0 熊猫名单
- 熊猫用 0 替换串楠
- 熊猫 sum 用 0 代替 nan
- 熊猫枢轴用 0 替换南
熊猫用 0 换下南
- 在本节目中,我们将讨论如何使用 Pandas DataFrame 将 nan 值替换为零。
- 在 Python 中,编程 nan 代表的不是一个数字。这些是 NumPy 数组和 Pandas 中的特殊值,它表示数据集中缺少值。
- 在 Python 中,我们通常可以用空字符串替换 nan 值,但在本文中,我们将讨论如何在 Pandas 数据帧中用零替换 Nan 值。
- 有各种方法可以解决这个问题。我们举个例子,了解一下 nan 值在熊猫身上到底起什么作用,以及如何用零代替 nan。
- 通过使用 Fill.na()方法
- 通过使用 replace()方法
通过使用 Fill.na()方法
该方法用于填充熊猫数据帧中缺失的值。而在 NumPy 数组的情况下,它有 np.nan,表示缺少一个数值。
语法:
下面是 fill.na()
方法的语法
DataFrame.fillna
(
value=None,
method=None,
axis=None,
inplace=False,
limit=None,
downcast=None
)
- 它由几个参数组成
- 值:该参数指定将用于填充空值的值。在本文中,您必须提供一个 0 值,该值将用于填充 Pandas 数据帧中所有缺失的值。
- 方法:该参数用于填充序列中缺失的值,默认为无。
- 轴:该方法只接受列和行的整数值或字符串值
- inplace: 默认情况下,该参数设置为 inplace =False,这意味着它不会在空白位置填充值。
举例:
让我们举一个例子,检查如何在 Pandas 中使用 fill.na()方法
import pandas as pd
import numpy as np
df = pd.DataFrame({'new_val': [np.nan, np.nan, np.nan, np.nan]})
df['new_val'] = df['new_val'].fillna(0)
print (df)
在上面的程序中,我们用 np 取一个数据帧。南价值观。现在我们将使用 fillna()
方法来替换这些值 np。nan 值带零。
下面是以下给定代码的执行过程
Pandas replace nan with 0
通过使用 replace()方法
- 这是使用 Pandas DataFrame 用零替换 nan 值的另一种方法。
- 通过使用
Pandas.replace()
方法,Pandas 数据帧的值可以替换为其他值,如零。
语法:
下面是 Pandas.replace()
方法的语法
DataFrame.replace
(
to_replace=None,
value=None,
inplace=False,
limit=None,
regex=False,
method='pad'
)
源代码:
import pandas as pd
import numpy as np
new_dictionary = {'Employee_name': ['George','Micheal','William','Liah','Oliva','Elite','James','Potter'],
'Employee_id': [ np.nan, 763, np.nan, np.nan, 279,np.nan,99928,np.nan],
'Employee_age': [277, np.nan, np.nan, np.nan, 267, 2883, np.nan, 829]}
df = pd.DataFrame(new_dictionary)
new_result = df.replace(np.nan, 0)
print(new_result)
你可以参考下面的截图
Pandas replace nan with 0
熊猫在栏中用 0 代替 nan
- 让我们看看如何在 Python 中用零替换列中的 nan 值。
- 为了执行这个特定的任务,我们可以应用
DataFrame.fillna()
方法。在这个程序中,我们将看到如何替换列中的 nan 值。 - 在 Python 中,此函数用于填充给定数据帧中缺失的值,并用零替换这些值。
举例:
import pandas as pd
import numpy as np
df = pd.DataFrame(
[[np.nan, np.nan, 745],
[567, np.nan, 156],
[348, 118, np.nan],
[np.nan, np.nan, np.nan]],
columns=['Australia', 'Germany', 'China'])
df['China'] = df['China'].fillna(0)
df['Germany'] = df['Germany'].fillna(0)
df['Australia'] = df['Australia'].fillna(0)
print("Updated DataFrame",df)
在上面的代码中,我们首先创建了一个 data frame‘df’,然后在其中分配一个 nan 和一个数值。现在用 Fillna()
方法选择一个特定的列元素。一旦您将打印' df ',那么输出将只显示零和数字整数值。
下面是以下代码的截图
Pandas replace nan with 0 in column
阅读:如何在 Python 中把 Pandas DataFrame 转换成 NumPy 数组
熊猫用 0 替换多列的 nan
- 这里我们可以看到如何在 Python Pandas 中使用
replace()
方法将多个列的 nan 值替换为零。 - 在 Python 中,这种方法用于数据清理,这种技术用于在多个列中用零替换 nan 值。当您在任何数据帧中使用此方法时,它将替换任何列中值的每个实例。
让我们看一个例子
源代码:
import pandas as pd
import numpy as np
new_dict = {'Stu_name': ['William', 'Jmaes', 'Chris', 'Hemsowrth'],
'Stu_age': [14, np.nan, np.nan, 34],
'Stu_name': [998, np.nan, 157,np.nan],
'Stu_marks':[167, np.nan,556,np.nan]}
df = pd.DataFrame(new_dict)
df['Stu_age'] = df['Stu_age'].replace(np.nan,0)
df['Stu_marks'] = df['Stu_marks'].replace(np.nan,0)
print("Updated DataFrame",df)
在上面的代码中,我们首先导入执行这个程序所需的包。现在我们已经创建了一个简单的 DataFrame 对象,这个 DataFrame 包含‘Student _ information’。
数据帧有四个变量【列】。现在,我们只想在新的 DataFrame 中显示多列。为此,我们将使用 replace()
方法以及列表中的列名。
下面是以下给定代码的实现。
Pandas replace nan with 0 for multiple columns
熊猫在一列中用 0 代替南
- 在这个程序中,我们将讨论如何在 Pandas 数据帧的特定列中用零替换 nan 值。
- 为了完成这项任务,我们将使用
DataFrame.fillna()
方法,该函数将帮助用户替换特定列中的值。在这个例子中,我们将提到列表中的列名,然后使用fillna()
方法。一旦您打印了‘df’,那么输出将只显示一列值‘日本’。
举例:
import pandas as pd
import numpy as np
df = pd.DataFrame(
[[np.nan, np.nan, 456],
[110, np.nan, 145],
[np.nan, 113, np.nan],
[np.nan, np.nan, np.nan]],
columns=['Japan', 'U.S.A', 'England'])
df['Japan'] = df['U.S.A'].fillna(0)
print("Updated DataFrame",df)
你可以参考下面的截图
Pandas replace nan with 0 in one column
正如您在屏幕截图中看到的,新的数据帧在“日本”列名中包含零值。
熊猫用 0 换下南
- 让我们看看如何在 Pandas 中使用 inplace 参数将 nan 值替换为 0。
- 在这个方法中,inplace 参数被设置为
inplace =True
,这意味着它将填充空值并直接修改原始 Pandas 数据帧。如果设置 inplace =True,那么它在一个空的地方填充值。 - 默认情况下,该方法采用 inplace='False' 值,这意味着返回一个包含结果内容的新 dataframe。
源代码:
import pandas as pd
import numpy as np
Student_info = {'Stu_name': ['Hayden', 'Adam', 'Mathew', 'Gilchrist'],
'Stu_age': [16, 18, np.nan, np.nan],
'Stu_marks': [180, np.nan, 340,np.nan]}
df = pd.DataFrame(Student_info)
df.fillna(0, inplace=True)
print(df)
下面是以下代码的截图
Pandas replace nan with 0 in place
熊猫用 0 换下南
- 这里我们可以看到如何在 Pandas 数据帧中将 nan 值替换为零。
- 通过使用
Pandas.replace()
方法,我们可以执行这个特定的任务,并将数字整数值更改为 0。
源代码:
import pandas as pd
import numpy as np
new_dictionary = {'Employee_name': ['Brett','lee','John','Liah','Oliva','Elite','James','Potter'],
'Employee_id': [ np.nan, 157, np.nan, np.nan, 239,np.nan,445,np.nan],
'Employee_age': [277, np.nan, np.nan, np.nan, 267, 2883, np.nan, 829]}
df = pd.DataFrame(new_dictionary)
new_result = df.replace(np.nan, 0)
print(new_result)
在上面的程序中,我们取一个带有 np.nan 值的数据帧。现在我们将使用 DataFrame.replace()方法将这些值 np.nan 值替换为零。
下面是以下给定代码的执行过程
Pandas substitute nan with 0
阅读: Python 熊猫替换多个值
熊猫系列用 0 替换南
- 本期节目我们将讨论如何利用熊猫系列将 nan 值替换为 0。
- 在 Python 中,Pandas 系列只能存储一个带索引的列表,dataframe 是用来分析数据的系列的集合。我们还可以使用 pandas
"series"
方法将字典、列表和元组转换成序列。 - 现在在这个程序中,我们将通过创建一个 DataFrame 对象来检查如何用零替换 nan 值。
举例:
import pandas as pd
import numpy as np
new_series = {'val1': [15, np.nan, 536, np.nan, 22, 234, np.nan,
np.nan, 82, np.nan],
'val2': [19, 25, np.nan, np.nan, 11, np.nan,
np.nan, 234, 119, np.nan],
'val3': [16, 856, np.nan, np.nan, np.nan, 3312, 9913,
19, 1567, np.nan]}
df = pd.DataFrame(new_series)
df = df.fillna(0)
print(df)
在上面的代码中,我们首先导入了 pandas 和 NumPy 库,然后创建了一个字典,在这个字典中我们必须分配数字 integer 和 nan 值。
下面是以下给定代码的实现
Pandas series replace nan with 0
熊猫合并用 0 替换 nan
- 在这里,我们可以看到如何合并两个不同的数据帧,并使用 Pandas 将 nan 值替换为零。Concat() 方法。
- 在 Python 中,该函数用于将 dataframe 系列与 Pandas 对象的轴组合在一起。在这个方法中,我们还可以传递各种参数来修改 Pandas 连接操作的行为。
语法:
下面是熊猫的句法。Concat()方法
Pandas.Concat
(
objs,
axis=0,
join='outer',
ignore_index=False,
keys=None,
Levels=None,
names=None,
verify_integrity=False,
sort=False,
copy=True
)
- 它由几个参数组成
- objs: 该参数指定系列或数据帧对象的顺序,如果映射系列被传递,排序的关键字将被用作关键字参数。
- 轴:默认情况下,其值为 0,用于与数据帧中的轴连接。如果 axis=1,则按列执行。
- join: 该参数表示如何控制其他轴上的指标。
- ignore_index: 默认情况下,其值为 false,如果为 true 则不使用给定轴上的索引值。
- keys: 默认情况下,其值为 None,应该只包含元组值。
- 级别:该参数指定级别(序列列表),默认情况下不取值。
让我们举一个例子,看看如何合并两个数据帧序列,并用零替换 nan 值
源代码:
import pandas as pd
import numpy as np
new_series = pd.DataFrame({'Student_age': [np.nan, 67, np.nan, 88],
'Student_marks': [45, np.nan, 456, np.nan]})
new_col = pd.DataFrame({'Student_age': [134, np.nan, 578, np.nan],
'Student_marks': [764, np.nan, 1457, np.nan]})
new_val = [new_series, new_col]
result = pd.concat(new_val)
df = result.fillna(0)
print(df)
在上面的程序中,我们首先创建了两个不同的数据帧‘new _ series’和‘new _ col’,它们包含整数和 nan 值。
现在声明一个列表,并为其分配列名。然后使用 Pandas.concat()
方法连接两个带有列表参数的序列。
下面是以下给定代码的执行过程
Pandas merge replace nan with 0
阅读: Python 数据帧到 CSV
熊猫用 0 填充 nan 值
- 在这个程序中,我们将讨论如何在 Python Pandas 中使用 fillna()方法将 nan 值替换为 0。
- 在 Python Pandas 中,该方法用于填充
NA/NAN
值,并且总是返回缺少值的 Pandas DataFrame 对象。这些是 NumPy 数组和 Pandas 中的特殊值,它表示数据集中缺少值。
语法:
下面是 Pandas.fillna()方法的语法
DataFrame.fillna
(
value=None,
method=None,
axis=None,
inplace=False,
limit=None,
downcast=None
)
源代码:
import pandas as pd
import numpy as np
df = pd.DataFrame(
[[np.nan, np.nan, 456],
[178, np.nan, 756],
[np.nan, 129, np.nan],
[np.nan, np.nan, np.nan]],
columns=['Oliva', 'Elijah', 'Chris'])
df['Elijah'] = df['Elijah'].fillna(0)
print("Updated DataFrame",df)
在上面的程序中,我们用 np 取一个数据帧。南价值观。现在我们将使用 fillna()方法来替换这些值 np。带零的 nan 值。
你可以参考下面的截图
Pandas fill nan values with 0
熊猫将所有列中的 nan 替换为 0
- 让我们看看如何在 Python Pandas 中用零替换所有列中的 nan 值。
- 为了执行这个特定的任务,我们可以应用 Pandas.fillna()方法。在本例中,我们将替换给定列表中所有可用的 nan 值。
举例:
import pandas as pd
import numpy as np
df = pd.DataFrame(
[[np.nan, np.nan, 267],
[117, np.nan, 881],
[107, 578, np.nan],
[np.nan, np.nan, np.nan]],
columns=['Micheal', 'Liah', 'Oliva'])
df['Micheal'] = df['Micheal'].fillna(0)
df['Liah'] = df['Liah'].fillna(0)
df['Oliva'] = df['Oliva'].fillna(0)
print("Updated DataFrame",df)
在上面的代码中,我们首先创建了一个 data frame‘df’,然后在其中分配一个 nan 和一个数值。现在用 fillna()
方法选择一个特定的列元素。一旦您将打印‘df’,那么输出将只显示零和数字整数值。
下面是以下给定代码的执行过程
Pandas replace nan with 0 in all columns
将南换成 0 熊猫名单
- 这里我们可以看到如何通过使用熊猫用零替换列表中的 nan 值。
- 在这个程序中,我们导入了一个 pandas 库,然后创建了一个包含 integer 和 nan 值的列表。现在使用列表理解方法遍历一个值。
- 在 Python 中,list comprehension 方法用于通过对现有列表中的每个项目执行操作来创建列表。
源代码:
import pandas as pd
new_lis = [78, pd.NA, 157, pd.NA,pd.NA,456,pd.NA]
new_lis = [0 if pd.isna(m) else m for m in new_lis]
print("upgraded dataframe",new_lis)
下面是以下给定代码的实现
Replace nan with 0 pandas list
阅读:计算熊猫数据帧中的行数
熊猫用 0 替换串楠
- 在这个程序中,我们将看到如何在 Pandas 中用零替换 nan 字符串值。为了完成这项任务,我们将使用 replace()方法。
- 通过使用
Pandas.replace()
方法,Pandas 数据帧的值可以替换为其他值,如零。
举例:
import pandas as pd
import numpy as np
new_dict = {'Stu_name': ['John', 'Potter', 'Ghilchrist', 'Adam','np.nan','np.nan'],
'Country_name': ['Japan', 'China', 'Germany', 'Australia'],
'Stu_name': ['np.nan', 'np.nan', 157,'np.nan'],
'Stu_marks':[167, 'np.nan',556,'np.nan']}
df = pd.DataFrame(new_dict)
df['Stu_name'] = df['Stu_name'].replace('np.nan',0)
df['Stu_marks'] = df['Stu_marks'].replace('np.nan',0)
print("Updated DataFrame",df)
在上面的代码中,我们首先创建了一个字典,并分配了一个键值对元素。在此示例中,键被视为列名,列表仅包含字符串值。现在我们想通过使用 replace()
方法将' np.nan '值替换为零。
你可以参考下面的截图
Pandas replace string nan with 0
熊猫 sum 用 0 代替 nan
- 让我们看看如何在 Python Pandas 中使用 Pandas.sum()方法对给定数据帧中的所有整数值求和。
- 在 Python 中,Pandas 提供了一个名为
sum()
的函数,可用于获取 Pandas 数据帧中所有值的总和以及轴,该方法总是返回一个存储每列中所有值总和的序列。
语法:
下面是 Pandas.sum()方法的语法
DataFrame.sum(
axis=None,
skipna=None,
level=None,
numeric_only=None,
min_count=0
)
- 它由几个参数组成
- 轴:该参数表示将要计算的值的总和。如果 axis=1,则表示由列表示的值的总和。
- skipna: 默认取真值。
- 级:默认无,整数或级名。
源代码:
import numpy as np
import pandas as pd
my_new_dict = { 'val1': [723, 1178, np.NaN, np.NaN],
'val2': [867, np.NaN, np.NaN, 289],
'val3': [356, np.NaN, np.NaN, 190],
'val4': [115, 590, 389, 178],
'col_name': ['Python', 'Java', 'Ruby', 'Sql']}
df = pd.DataFrame(my_new_dict)
df = df.set_index('col_name')
new_val=df['val2'].sum()
print(new_val)
在上面的程序中,我们在这个 Pandas 数据帧上调用了 sum()
函数,没有任何轴参数。因此,它显示一个 Dataframe 系列,其中系列中的每个值都代表一列中值的总和。
你可以参考下面的截图
Pandas sum replace nan with 0
阅读: Python 将数据帧转换为列表
熊猫枢轴用 0 替换南
- 在这个 Python 程序中,我们将讨论如何使用 pivot 和 replace 函数将 nan 值替换为零。
- 在 Python 中,该函数表示基于唯一值的数据透视表,并使用值进行填充。
语法:
下面是 Pandas.pivot()函数的语法
DataFrame.pivot(
index=None,
columns=None,
values=None
)
举例:
import pandas as pd
import numpy as np
new_dict = {'Stu_name': ['William', 'Jmaes', 'Chris', 'Hemsowrth'],
'Stu_age': [14, np.nan, np.nan, 34],
'Stu_name': [998, np.nan, 157,np.nan],
'Stu_marks':[167, np.nan,556,np.nan]}
df = pd.DataFrame(new_dict)
df['Stu_age'] = df['Stu_age'].replace(np.nan,0)
df['Stu_marks'] = df['Stu_marks'].replace(np.nan,0)
print("Updated DataFrame",df)
下面是以下给定代码的输出
Pandas pivot replace nan with 0
在这篇 Python Pandas 教程中,我们已经学习了如何使用 Pandas 在 Python 中用 0 替换 nan 值。此外,我们已经讨论了这些主题。
- 熊猫用栏中的 0 替换 nan
- 熊猫对多列用 0 代替 nan
- 熊猫在一列中用 0 代替 nan
- 熊猫用 0 代替 nan
- 熊猫用 0 代替 nan
- 熊猫系列用 0 代替 nan
- 熊猫合并用 0 替换 nan
- 熊猫用 0 填充 nan 值
- 熊猫 read_csv 用 0 替换 nan
- 熊猫将所有列中的 nan 替换为 0
- 将 nan 替换为 0 熊猫列表
- 熊猫用 0 代替字符串 nan
- 熊猫 sum 用 0 代替 nan
- 熊猫枢轴用 0 替换 nan
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
如何在 Python Django 中解析 CSV
在这个 Python Django 教程中,我会用简单的步骤解释如何
解析 Python Django 中的 CSV。
最近,我一直在使用 Django 框架创建一个网站。我有一些 CSV 文件中的数据项要上传到 Django 模型。
因此,我已经做了研究,并创建了一个逻辑,用于在一眨眼的时间内将 CSV 文件解析为 Django 模型。
在这里我们将看到:
- 什么是 django-import-export 库?
- 如何使用 django-import-export
- 在 Django web 框架中建立一个项目
- 在 Django 创建模型
- 如何向管理界面注册模型
- 如何在 Python Django 中解析 CSV
- 用于导入和导出 CSV 的 Django 模板
- 如何在 Django 中创建超级用户
- 如何在管理界面中查看数据项
在本文的最后,您还可以下载用 Python Django 解析 CSV 的代码。
这是我们将在这里建造的。
Parsing CSV in Python Django
目录
如何在 Python Django 中一步步解析 CSV
现在,让我们先了解一下*Django-import-export*
库,一步步学习在 Python Django 中解析 CSV 文件。
django-进出口库
顾名思义, django-import-export
库处理数据导入和导出。
该库支持多种格式,如 xls、csv、json、yaml,以及其他由 tablib
提供的格式。此外,它有一个 Django 管理集成,非常用户友好。
如何设置导入导出库
django-import-export 应该首先安装在您激活的虚拟环境中。借助这个包,我们可以在 Python Django 中解析 CSV 文件。
pip install django-import-export
django-import-export library
安装完成后,在 settings.py
文件中添加 Django import_export
到 INSTALLED_APPS
。
Update settings.py
此外,还有一个可选配置,您可以在 settings.py
文件中进行设置。
IMPORT_EXPORT_USE_TRANSACTIONS = True
它决定了库是否会在数据导入期间使用数据库事务。默认情况下,该值为 False。因此,为了安全起见,我们将其设置为 True。
解析 Python Django 中的 CSV
现在,我们将看到一个与在 Python Django 中解析 CSV 相关的例子。
建立 Django 项目
要启动 Django 项目,请打开终端并输入以下命令。这里,parsingsvproject
是 Django 项目的名称。
django-admin startproject ParsingCSVProject
它将创建一个名为parsingsvproject
的文件夹,并在终端中输入下面的命令。
cd ParsingCSVProject
通过在终端中键入下面的命令,在这个项目文件夹中创建一个名为 MyApp
的 Django 应用程序。
python manage.py startapp MyApp
Setup Python Django Project
将应用名称添加到位于 settings.py
文件中的 INSTALLED_APP
列表中,以激活该应用。
Install App in settings.py
Django 在项目目录中包含了一个 urls.py
文件,默认情况下,它将新构建的应用程序映射到其中。为此,在其中添加以下代码。
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('MyApp.urls')),
]
在 Django 中创建模型
要在 Django 中创建模型,打开 app 目录中的 models.py
文件,并添加下面给出的代码。
from django.db import models
# Create your models here.
class SongRank(models.Model):
Rank = models.IntegerField()
Song = models.CharField(max_length=200)
Streams = models.CharField(max_length=5)
Artist = models.CharField(max_length=500)
Release_Date = models.DateField(null=True)
在这里,我们创建一个模型类 SongRank
有以下字段。
- 排名是 Django IntegerField,用来存储歌曲的排名。
- 歌曲是 Django CharField,它存储了 Spotify 上最热门的流媒体歌曲的名称。这个字符字段有 200 个字符的限制。
Streams
是 Django CharField,它存储了 Spotify 统计的歌曲流。- 艺术家是 Django CharField,它存储了歌曲艺术家的名字。
Release_Date
是 Django DateField,它存储了歌曲在 Spotify 上的发布日期。此外,我们将参数设置为空到真。
向管理站点注册模型
要在管理应用程序中查看模型,请在管理站点上注册它。打开 admin.py
文件,将以下代码添加到该文件中。
from django.contrib import admin
from import_export.admin import ImportExportModelAdmin
from .models import SongRank
# Register your models here.
@admin.register(SongRank)
class SongRankAdmin(ImportExportModelAdmin):
list_display = ('Rank', 'Song', 'Streams', 'Artist')
这里,我们创建了一个装饰器来注册我们的模型类。列表的字段名使用 list_display
属性以必要的顺序定义在一个元组中。
Django 的资源
为了使用 django-import-export
库,我们需要从前端导入和导出文件的资源。资源是类定义,与 Django 处理模型表单和管理类的方式非常相似。
要添加与资源相关的代码,在 app 文件夹中创建一个名为 resources.py
的文件。
from import_export import resources
from .models import SongRank
class SongRankResource(resources.ModelResource):
class Meta:
model = SongRank
首先从进出口库中导入资源和 SongRank
模型。然后,创建一个名为 SongRankResource
的资源类,并将模型名称传递给元类进行配置。
用于导入和导出 CSV 的 Django 模板
在主项目目录中创建一个名为 Templates
的子目录来存储所有的项目模板,因为 Django 应用程序的前端是在 Templates 中指定的。
通过打开 settings.py
文件,更新 DIRS
以使用模板文件夹的路径。
Update Template Folder Path
创建一个home.html
文件,在模板文件夹中添加用于解析 Django 中的 CSV 的 HTML 代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Parse CSV File</title>
</head>
<body>
<h3 align="center">
Please Upload CSV File
</h3>
<hr>
<br>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="myfile">
<button type="submit">Upload File</button>
</form>
<br>
<hr>
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }}" role="alert">
<p{% if message.tags %} class="" {% endif %}>{{ message }}</p>
</div>
{% endfor %}
{% endif %}
</body>
</html>
- HTML 标签
h3
用于在主体标签内添加表单的标题。 - 一旦表单被提交,通过调用表单标签的
POST
方法,表单就会被提交。 - 在表单标签中添加
enctype = " multipart/form-data "
,否则不上传文件。 - 在表单元素中添加
csrf_token
来保护表单免受网络攻击,并使您能够安全地传输数据。 - 然后,我们创建选择文件的文件输入选项和将文件数据上传到管理站点的提交按钮。
- 最后,我们使用 {{message}} 来打印错误和成功消息。
定义视图
要定义应用程序的主要逻辑,打开 views.py
文件并添加下面给出的代码。
from django.shortcuts import render
from .models import SongRank
from .resources import SongRankResource
from django.contrib import messages
from tablib import Dataset
import csv,io
def upload(request):
if request.method == 'POST':
songrank_resource = SongRankResource()
dataset = Dataset()
new_songrank = request.FILES['myfile']
if not new_songrank.name.endswith('csv'):
messages.info(request,'Please Upload the CSV File only')
return render(request,'home.html')
data_set = new_songrank.read().decode('UTF-8')
io_string = io.StringIO(data_set)
next(io_string)
for column in csv.reader(io_string, delimiter=',', quotechar="|"):
created = SongRank.objects.update_or_create(
Rank=column[0],
Song=column[1],
Streams=column[2],
Artist=column[3])
return render(request, 'home.html')
现在,为了调用视图,我们必须将视图映射到 URL,因此我们必须在 app 目录中创建一个名为 urls.py
的文件。在其中包含以下代码。
from django.urls import path
from . import views
urlpatterns = [
path('', views.upload, name='upload'),
]
执行 Django 模型
要创建包含模型表格模式代码的迁移文件,请在终端中键入以下命令。
python manage.py makemigrations
要按照迁移文件的模式构建表,请执行以下命令。
python manage.py migrate
Execute Django Model
执行 Django 应用程序
要启动开发服务器,请在终端中键入下面给出的命令。
python manage.py runserver
Runserver in Django
它成功地打开了 Django 页面,以选择 Python Django 中的文件。
Python Django Parse CSV
接下来,导入您想要导出到 Django 模型的文件。
Select the CSV File
成功选择 CSV 文件后,会显示成功消息。
Success Message
如果您上传的文件不是 CSV 格式,它将显示一条错误消息。
Error Message
阅读:使用 PostgreSQL 的 Django CRUD 示例
从 Django 管理界面查看数据
要查看 Django 管理界面中输入数据,首先我们必须创建一个超级用户。在给定的命令下键入。
python manage.py createsuperuser
然后,点击宋排名下缅甸。它将成功地向您显示模型中的数据项。
Parse CSV in Python Django
这就是我们如何在 Python Django 中解析 CSV。
下载解析 CSV 格式的 Python Django 完整代码
这是代码。
结论
这样,我们已经成功地在 Python Django 中导入和导出了 CSV。我们还学习了 django-import-export 库以及将 CSV 解析为 Python Django 模型。
此外,我们还讨论了以下主题。
- 什么是 django-import-export 库?
- 如何使用 django-import-export
- 在 Django web 框架中建立一个项目
- 在 Django 创建模型
- 如何向管理界面注册模型
- 如何在 Python Django 中解析 CSV
- 用于导入和导出 CSV 的 Django 模板
- 如何在 Django 中创建超级用户
- 如何在管理界面中查看数据项
另外,看看更多的 Python Django 教程。
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
PdfFileMerger Python 示例
在这个 Python 教程中,我们将讨论什么是 Python 中的 PyPDF2 以及 PdfFileMerger 的各种方法,还有 PdfFileMerger Python 示例。
我们将学习 PdfFileMerger 类和方法。PyPDF2 模块中的类被广泛用于在 Python 中将多个 PDF 文件合并成一个文件。
此外,我们将检查:
- 如何在 Python 中给 PDF 添加书签
- 如何在 Python 中向 pdf 添加元数据
- 如何在 Python 中追加 PDF 文件
- 如何使用 PDFFileMerger 在 Python 中合并 PDF 文件
- 如何在 Python 中设置 PDF 中的页面布局
- 如何在 Python 中设置 PDF 中的页面模式
- 在 Python 中使用 PdfFileMerger 编写文件对象
目录
- PyPDF2 Python 库
- 在 python 中安装 pypdf 2
- Python 中的 PdfFileMerger
- PdfFileMerger Python 示例
- 使用 Python 中的 PdfFileMerger 添加书签
- 使用 Python 中的 PdfFileMerger 在 PDF 中添加元数据
- 使用 Python 中的 PdfFileMerger 向 PDF 文件添加命名目的地
- 使用 Python 中的 PDF 文件合并器添加 PDF 文件
- Python 中 PdfFileMerger 的关闭操作
- 使用 Python 中的 PdfFileMerger 合并 PDF 文件
- 使用 Python 中的 PdfFileMerger 设置页面布局
- 使用 Python 中的 PdfFileMerger 设置页面模式
- 使用 Python 中的 PdfFileMerger 编写文件对象
PyPDF2 Python 库
- Python 被用于各种各样的目的&用各种活动的库和类来装饰。出于这些目的,其中一个是用 Python 从 PDF 中读取文本。
PyPDF2
提供的类帮助我们读取,合并,编写一个 PDF 文件。PdfFileReader
用于执行与读取文件相关的所有操作。- pdf 文件合并器用于将多个 pdf 文件合并在一起。
PdfFileWriter
用于对 pdf 执行写操作。
- 所有的类都有不同的方法,方便程序员控制和执行 pdf 上的任何操作。
- PyPDF2 在 Python3.5 之后已经停止接收任何更新,但仍用于控制 PDF。在本教程中,我们将涵盖关于
PdfFileMerger
类&的一切,我们将告诉你所有的函数都贬值或损坏了什么。
在 python 中安装 pypdf 2
要在 Python 中使用 PyPDF2 库,我们需要首先安装 PyPDF2。按照以下代码在您的系统中安装 PyPDF2 模块。
pip install PyPDF2
阅读完本教程后,您将对 PdfFileMerger 类中的每个函数有完整的了解。此外,我们将演示 PdfFileMerger 类中每个函数的例子。
Python 中的 PdfFileMerger
Python 中的 PdfFileMerger 提供了帮助将多个 PDF 合并成一个的方法。它提供了各种功能,您可以使用这些功能在 Python 中控制 PDF。
- Python 中的 PdfFileMerger 用于将两个或多个 PDF 文件合并为一个。它初始化一个 PdfFileMerger 对象。
- 它可以连接,切片和插入 PDF 文件。
- 第一步是导入
PyPDF2
模块。
import PyPDF2
- 下一步是用 Python 初始化 PyPDF2 模块中的类。所以这次我们将初始化 PdfFileMerger。
PyPDF2.PdfFileMerger(strict=True)
这里, strict
决定了是否应该警告用户所有的问题。默认情况下,这是真的。
下面是上面代码的实现。如果它显示一个错误,这意味着在 Python 的 PdfFileMerger 中一切正常。
PdfFileMerger Python examples
这就是我们如何在 Python 中使用 PdfFileMerger。接下来,我们将学习本课程中所有可用的方法。
PdfFileMerger Python 示例
在这一节中,我们将了解 PdfFileMerger 类中可用的函数。此外,我们将借助示例演示每个函数的用法。
请注意,Python 中的 PyPDF2 模块在 python 3.5 之后没有更新,所以,您正在阅读的这篇博客可能有几个功能不起作用。
使用 Python 中的 PdfFileMerger 添加书签
让我们看看如何在 Python 中使用 PdfFileMerger 添加书签。
PdfFileMerger 提供了一个方法 addBookmark(title,pagenum,parent=None) 允许在 Python 中的 PDF 文件中添加书签。
- 用 Python 为 PDF 文件添加书签。
- 参数:
title
(str):用于该书签的标题或名称。pagenum
(int):这个书签将指向的页码。parent
:对父书签的引用,用于创建嵌套书签。
- 下面是 Python 中 PdfFileMerger 类的
addBookmark()
函数的例子
代码片段:
在这段代码中,我们使用 Python 中的 PdfFileMerger 添加了一个书签,名称为“new bookmark ”,引用是针对第 2 页的。
import PyPDF2
writer = PyPDF2.PdfFileMerger(strict=True)
pdfFile = writer.addBookmark(
title="new bookmark",
pagenum=2,
)
print(pdfFile)
输出:
在这个输出中,您可以看到在终端字典中显示的书签信息。
Add Bookmark using PdfFileMerger in Python
这就是我们如何用 Python 在 PDF 中添加书签。
使用 Python 中的 PdfFileMerger 在 PDF 中添加元数据
现在,让我们看看如何使用 PdfFileMerger 在 Python 中向 PDF 文件添加元数据。
PdfFileMerge 提供了方法 addMetadata(infos)
,该方法允许在 Python 中的 PDF 文件中添加元数据。
- 该函数将自定义元数据添加到输出中。
- 参数:
- infos (dict):一个 python 字典,其中每个键都是一个字段,每个值都是新的元数据。示例:
{u'/Title': u'My title'}
- infos (dict):一个 python 字典,其中每个键都是一个字段,每个值都是新的元数据。示例:
- 下面是在 Python 中使用 PdfFileMerger 添加元数据的例子
代码片段:
在这段代码中,我们遵循了使用 Python 中的 PdfFileMerger 输入元数据的过程。请注意,所有的键和值必须是一个字符串。
import PyPDF2
merger = PyPDF2.PdfFileMerger(strict=True)
data = {
u'/author': u'/PythonGuides',
u'/version': u'/1.0'
}
pdfFile = merger.addMetadata(data)
print(pdfFile)
输出:
在这种情况下,预期的输出是终端中出现的字典文本,但它没有返回任何内容。我们声明这个方法是无效的,但是如果你找到了解决方案,请在评论区留下。
Add Metadata using PdfFileMerger in Python
这就是我们如何使用 PdfFileMerger 在 Python 中向 PDF 文件添加元数据。
使用 Python 中的 PdfFileMerger 向 PDF 文件添加命名目的地
PdfFileMerger 提供了一个方法 addNamedDestination(title,pagenum) 允许在 Python 中的 PDF 文件中添加命名的目的地。
- 向输出添加目的地。
- 参数:
- 标题 (str):要使用的标题
pagenum
(int):此目的地指向的页码。
- 下面是在 Python 中使用 PdfFileMerger 的
addNamedDestination()
的例子
代码片段:
在这段代码中,我们遵循了在 Python 中使用 PdfFileMerger 添加的过程。请注意,所有的键和值必须是一个字符串。
import PyPDF2
merger = PyPDF2.PdfFileMerger(strict=True)
pdfFile = merger.addNamedDestination(
title="test",
pagenum=4
)
print(pdfFile)
输出:
上述代码的输出显示无。我们在 Python 的 PdfFileReader 中也有同样的功能。此功能已贬值,不再起作用。
Add Named Destination using PdfFileMerger in Python
这是如何使用 Python 中的 PdfFileMerger 向 PDF 文件添加命名目标。
使用 Python 中的 PDF 文件合并器添加 PDF 文件
PdfFileMerger 提供了一个方法 append(
fileobj,bookmark=None,pages=None,import_bookmarks=True )
,使用该方法连接 PDF 页面。
- 与 merge()方法相同,但是假设您想要将所有页面连接到文件的末尾,而不是指定一个位置。
- 参数:
File obj
–一个文件对象或一个支持标准读取并寻找类似于文件对象的方法的对象。也可以是表示 PDF 文件路径的字符串。bookmark
(str)–可选地,您可以通过提供书签的文本来指定要在所包含文件的开头应用的书签。pages
–可以是页面范围或(start,stop[,step])元组,只将源文档中指定范围的页面合并到输出文档中。import _ bookmarks
(bool)–您可以通过将其指定为 False 来防止导入源文档的书签。
- 下面是 Python 中使用 PdfFileMerger 的
append()
的例子。
代码片段:
在这段代码中,我们有
from PyPDF2.pdf import PdfFileReader, PdfFileMerger
f1 = PdfFileReader(open('Marksheet-1998.pdf', 'rb'))
f2 = PdfFileReader(open('Marksheet-1999.pdf', 'rb'))
f3 = PdfFileReader(open('Marksheet-2000.pdf', 'rb'))
merger = PdfFileMerger(strict=True)
merger.append(f1)
merger.append(f2)
merger.append(f3)
merger.write('new.pdf')
输出:
在此输出中,三个 PDF 文件被附加在一起,生成了 new.pdf。点击下面的按钮下载所有相关的 pdf 文件
Append PDF using PdfFileMerger in Python
这就是我们如何使用 Python 中的 PdfFileMerger向 pdf 文件添加内容。
Python 中 PdfFileMerger 的关闭操作
PdfFileMerger 提供了 close()方法,该方法在 Python 中关闭对 PDF 的操作。它关闭所有文件描述符(输入和输出)并清除所有内存使用。
使用 Python 中的 PdfFileMerger 合并 PDF 文件
PdfFileMerger 提供了一个方法 merge(position,fileobj,bookmark=None,pages=None,import_bookmarks=True) 使用该方法可以在 Python 中将多个文件合并在一起。
- 将给定文件中的页面合并到指定页码处的输出文件中。
- 参数:
position
(int)–插入该文件的页码。文件将被插入到给定的数字之后。File obj
–文件对象或支持类似于文件对象的标准读取和查找方法的对象。也可以是表示 PDF 文件路径的字符串。bookmark
(str)–可选地,您可以通过提供书签的文本来指定要在所包含文件的开头应用的书签。pages
–可以是页面范围或(start,stop[,step])元组,只将源文档中指定范围的页面合并到输出文档中。import _ bookmarks
(bool)–您可以通过将其指定为 False 来防止导入源文档的书签。
- 合并和追加的工作方式类似。他们都添加两个或更多的 PDF 在一起,但他们这样做是不同的。
- 下面是 PyPDF2 Python 中 merge 方法的例子。
代码片段:
在这段代码中,我们将三个 PDF 合并成一个 PDF。这是一个学生三年的假成绩单。点击下面的按钮下载 pdf 文件。
from PyPDF2 import PdfFileReader, PdfFileMerger
f1 = PdfFileReader(open('Marksheet-1998.pdf', 'rb'))
f2 = PdfFileReader(open('Marksheet-1999.pdf', 'rb'))
f3 = PdfFileReader(open('Marksheet-2000.pdf', 'rb'))
file = PdfFileMerger(strict=True)
file.merge(
position=0,
fileobj=f1,
bookmark=('1998', 0)
)
file.merge(
position=1,
fileobj= f2,
bookmark='1999'
)
file.merge(
position=2,
fileobj=f3,
bookmark='2000'
)
file.write('new.pdf')
输出:
在这个输出中,PDF 被合并,书签也被提到。点击 belkow 按钮下载本程序中使用的所有 pdf 文件。
Merge PDF using PdfFileMerger in Python
这就是我们如何使用 Python 中的 PdfFileMerger合并多个 PDF 文件。
使用 Python 中的 PdfFileMerger 设置页面布局
PdfFileMerger 提供了一个方法 setPageLayout(layout)
,使用该方法可以在 Python 中的 PDF 文件中设置页面布局。
- 设置页面布局
- 参数:
- 布局(str)–要使用的页面布局
布局 | 说明 |
---|---|
/NoLayout | 未明确指定布局 |
/单页 | 一次显示一页 |
一栏 | 一次显示一列 |
/TwoColumnLeft | 以两栏显示页面,奇数页在左边 |
/TwoColumnRight | 以两栏显示页面,奇数页在右边 |
/TwoPageLeft | 一次显示两页,奇数页在左边 |
/TwoPageRight | 一次显示两页,奇数页在右边 |
下面是一个在 Python 中使用 PyPDF2 的 PdfFileMerger 中的 setPageLayout()
方法的例子。
代码片段:
在这段 Python 代码中,我们将页面布局设置为“SinglePage ”,这意味着每个页面都将在 Python 中的单个页面视图中显示。
from PyPDF2 import PdfFileReader, PdfFileMerger
f1 = PdfFileReader(open('Marksheet-1998.pdf', 'rb'))
f2 = PdfFileReader(open('Marksheet-1999.pdf', 'rb'))
f3 = PdfFileReader(open('Marksheet-2000.pdf', 'rb'))
file = PdfFileMerger(strict=True)
file.merge(
position=0,
fileobj=f1,
bookmark='1998'
)
file.merge(
position=1,
fileobj= f2,
bookmark='1999'
)
file.merge(
position=2,
fileobj=f3,
bookmark='2000'
)
file.setPageLayout(layout='/SinglePage')
file.write('new.pdf')
输出:
在此输出中,new.pdf 是用单页布局创建的。终端上显示页面布局的选项。
Set Page Layout using PdfFileMerger in Python
使用 Python 中的 PdfFileMerger 设置页面模式
PdfFileMerger 提供了一个方法 setPageMode(mode)
,使用该方法可以在 Python 中的 PDF 文件中设置页面模式。
- 设置页面模式。
- 参数:
mode
(str)–要使用的页面模式。
模式 | 说明 |
---|---|
/UseNone | 不显示轮廓或缩略图面板 |
/使用大纲 | 显示轮廓(又名书签)面板 |
/使用拇指 | 显示页面缩略图面板 |
/全屏 | 全屏视图 |
/UseOC | 显示可选内容组(OCG)面板 |
/use 附件 | 显示附件面板 |
下面是在 Python 中使用 PyPDF2 的 PdfFileMerger 中的 setPageMode()
方法的例子。
代码片段:
在这段代码中,我们将屏幕设置为全屏模式。
from PyPDF2 import PdfFileReader, PdfFileMerger
f1 = PdfFileReader(open('Marksheet-1998.pdf', 'rb'))
f2 = PdfFileReader(open('Marksheet-1999.pdf', 'rb'))
f3 = PdfFileReader(open('Marksheet-2000.pdf', 'rb'))
file = PdfFileMerger(strict=True)
file.merge(
position=0,
fileobj=f1,
bookmark='1998'
)
file.merge(
position=1,
fileobj= f2,
bookmark='1999'
)
file.merge(
position=2,
fileobj=f3,
bookmark='2000'
)
file.setPageMode(mode='/FullScreen')
file.write('new.pdf')
输出:
在这个输出中,我们从许多模式中选择了全屏模式。程序执行后,PDF 文件会立即在全屏窗口中打开。
Set Page Mode using PdfFileMerger in Python
使用 Python 中的 PdfFileMerger 编写文件对象
PdfFileMerger 提供方法 write(fileobj)
,使用该方法可以将合并的数据写入 Python 中的新 PDF 文件。
- 将所有已合并的数据写入给定的输出文件。
- 参数:
file obj
–输出文件。可以是文件名或任何类似文件的对象。
- 上面所有的例子都使用了 Write 方法。这可能是代码的最后一行。
您可能会喜欢以下 Python 教程:
至此,我们完成了 Python 中 PdfFileMerger 的所有方法。我们通过以下几点了解了如何使用 Python 中的 PdfFileMerger 处理 PDF 文件:
- 如何在 Python 中给 PDF 添加书签
- 如何在 Python 中向 pdf 添加元数据
- 如何在 Python 中追加 PDF 文件
- 如何使用 PDFFileMerger 在 Python 中合并 PDF 文件
- 如何在 Python 中设置 PDF 中的页面布局
- 如何在 Python 中设置 PDF 中的页面模式
- 在 Python 中使用 PdfFileMerger 编写文件对象
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
PdfFileReader Python 示例
在本 Python 教程中,我们将讨论什么是 python 中的 PyPDF2 以及 PdfFileReader 的各种方法,还有 PdfFileReader Python 示例。
我们将学习 PdfFileReader 类和方法。PyPDF2 模块中的类被广泛用于在 Python 中访问和操作 PDF 文件。
目录
- PyPDF2 Python 库
- 在 python 中安装 pypdf 2
- Python 中的 PdfFileReader
- PdfFileReader python 示例
- 使用 Python 中的 PdfFileReader 获取 PDF 信息
- 使用 Python 中的 PDF 文件阅读器获取特定页面的 PDF 信息
- 使用 Python 中的 PdfFileReader 从 PDF 获取字段数据
- 使用 Python 中的 PDF 文件阅读器从 PDF 的字段中获取文本数据
- 使用 Python 中的 PdfFileReader 访问 PDF 中的指定目的地
- 使用 Python 中的 PDF 文件阅读器获取 PDF 的总页数
- 使用 Python 中的 PDF 文件阅读器获取 PDF 文件的轮廓
- 使用 Python 中的 PDF 文件阅读器跳转到 PDF 的特定页面
- 使用 Python 中的 PDF 文件阅读器获取 PDF 的页面模式
- 使用 Python 中的 PdfFileReader 获取 PDF 的页面布局
- 使用 Python 中的 PdfFileReader 获取 PDF 的加密信息
PyPDF2 Python 库
- Python 被用于各种各样的目的&用各种活动的库和类来装饰。出于这些目的,其中一个是用 Python 从 PDF 中读取文本。
PyPDF2
提供的类帮助我们读取,合并,编写一个 PDF 文件。PdfFileReader
用于执行与读取文件相关的所有操作。- pdf 文件合并器用于将多个 pdf 文件合并在一起。
PdfFileWriter
用于对 pdf 执行写操作。
- 所有的类都有不同的功能,方便程序员控制和执行 pdf 上的任何操作。
- PyPDF2 在 Python3.5 之后已经停止接收任何更新,但仍用于控制 PDF。在本教程中,我们将涵盖所有关于
PdfFileReader
类&的内容,我们将告诉你所有的函数都被贬值或损坏了。
在 python 中安装 pypdf 2
要在 Python 中使用 PyPDF2 库,我们需要首先安装 PyPDF2。按照下面的代码在您的系统中安装 PyPDF2 模块。
pip install PyPDF2
阅读完本教程后,您将对 PdfFileReader 类中的每个函数有完整的了解。此外,我们将演示 PdfFileReader 类中每个函数的示例。
Python 中的 PdfFileReader
- Python 中的 PdfFileReader 提供了帮助阅读&查看 pdf 文件的函数。它提供了各种功能,您可以使用这些功能根据页码、内容、页面模式等过滤 pdf。
- 第一步是导入
PyPDF2
模块,键入import PyPDF2
import PyPDF2
- 下一步是创建一个保存 pdf 文件路径的对象。我们提供了另一个参数,即
rb
,这意味着读取二进制。我们使用了名为“样本”&的 pdf 文件,它存储在主程序所在的同一个目录中。
pdfObj = open('sample', 'rb')
- ,
PdfFileReader
函数用于读取保存 pdf 文件路径的对象。此外,它还提供了一些可以传递的参数。
PyPDF2.PdfFileReader(
stream,
strict=True,
warndest=None,
overwriteWarnings=True
)
- 以下是对所有四个论点的解释:
- stream: 传递保存 pdf 文件的对象的名称。在我们的例子中,它是
pdfObj
。 strict
:是否要通知用户读取 pdf 文件时出现的致命错误。如果是,则将其设置为真。如果否,则将其设置为假。默认情况下,这是真的。- warndest: 记录警告的目的地(默认为
sys.stderr
)。 - overwriteWarnings: 确定是否用自定义实现覆盖 python 的 warning.py 模块(默认为 True)。
- stream: 传递保存 pdf 文件的对象的名称。在我们的例子中,它是
- 下面是上面提到的所有代码的实现。
PdfFileReader in Python
- 这张照片展示了三件事:
- 您可以注意到左侧的文件。“样本”是我们在这个程序中使用的 pdf 文件。
- 以上所有代码都在中间。
- 当我们试图运行这个程序时,终端显示一个错误,所以我们安装了 PyPDF2 模块。现在我们运行程序,什么也没有出现,因为我们刚刚读取了文件。
PdfFileReader python 示例
在这一节中,我们将介绍 PdfFileReader 类的所有功能。我们的方法是用最简单的方式解释这个函数&为每个函数演示一个例子。所以让我们看几个 PdfFileReader python 例子。
使用 Python 中的 PdfFileReader 获取 PDF 信息
PdfFileReader 提供了一个名为 documentInfo()
的方法,它为我们提供了关于 Python 中 PDF 文件的信息。
- 如果存在,以字典格式检索 pdf 文档信息。
TypeError: 'DocumentInformation' object is not callable
- 如果你看到上面的错误,只需从文档信息中删除
()
。
举例:
下面是 documentinfo 函数的实现示例。
代码片段:
在这段代码中,我们用 Python 显示了 sample.pdf 的信息。
import PyPDF2
pdfObj = open('sample', 'rb')
reader = PyPDF2.PdfFileReader(
pdfObj,
strict=True,
warndest=None,
overwriteWarnings=True
)
print(reader.documentInfo)
输出:
在这个输出中,您可以注意到 sample.pdf 的信息是以字典格式显示的。
pdffilereader python example
使用 Python 中的 PDF 文件阅读器获取特定页面的 PDF 信息
PdfFileReader 提供了一个名为getdestinationpage number()
的方法,它为我们提供了关于特定页面上的 Python 中的 PDF 文件的信息。
- 检索所提供页码上的可用信息。
- 如果您想查看特定页面的内容,那么您可以简单地将页码作为参数传递给这个函数。
- 只有当你知道页码或者你有内容的索引时,它才是有用的。
- PyPDF2 库在 python3.5 之后没有更新,所以很少有 bugs &坏函数。只有与 python3.5 或更低版本一起使用时,这种方法才能完美地工作。
使用 Python 中的 PdfFileReader 从 PDF 获取字段数据
PdfFileReader 提供了一个方法 getFields(tree=None,retval=None,FileObj=None) 从 Python 中的交互式 PDF 中提取字段数据。
- tree & retval 参数用于递归使用。
- 如果 PDF 包含交互式表单字段,此功能将提取字段数据。
- 交互式表单是用户可以填写信息的表单。点击这里看互动形式演示。
- 如果直接下载,这些交互式 pdf 将无法工作,因此我们在下面提到了可以在工作状态下下载交互式 pdf 的 python 代码。
代码
片段:
您可以在互联网上找到交互式表单&可以使用给定的代码下载这些表单。只需提供交互式 pdf 文件的路径。在我们的例子中,我们是从 https://royalegroupnyc.com 下载的
import urllib.request
pdf_path = "https://royalegroupnyc.com/wp-content/uploads/seating_areas/sample_pdf.pdf"
def download_file(download_url, filename):
response = urllib.request.urlopen(download_url)
file = open(filename + ".pdf", 'wb')
file.write(response.read())
file.close()
download_file(pdf_path, "Test")
下面是用 python 阅读交互式 PDF 的代码片段。
import PyPDF2
pdfObj = open('interactivepdf.pdf', 'rb')
reader = PyPDF2.PdfFileReader(
pdfObj,
strict=True,
warndest=None,
overwriteWarnings=True
)
print(reader.getFields())
输出:
在这个输出中,您可以注意到所有信息都是以字典格式获取的。如果 PDF 不包含交互字段,则不会返回任何内容。
read the interactive PDF in python
使用 Python 中的 PDF 文件阅读器从 PDF 的字段中获取文本数据
PdfFileReader 提供了一个方法 getFormTextFields()
来从 Python 中的交互式 PDF 中提取文本数据。
- 该函数用于检索用户在 Python 交互式 PDF 中提供的文本数据。
- 数据以字典格式显示
- 如果您看到一个错误:
**TypeError: 'NoneType' object is not iterable**
这意味着 pdf 不包含交互式文本字段。 getFields()
和getFormTextFields()
的主要区别在于,getFileds 显示所有已归档的信息,而getFormTextFields
显示在交互式 pdf 中输入的信息。
代码片段:
在这段代码中,我们在显示输出的最后一行中使用了这个函数。
import PyPDF2
pdfObj = open('interactivepdf.pdf', 'rb')
reader = PyPDF2.PdfFileReader(
pdfObj,
strict=True,
warndest=None,
overwriteWarnings=True
)
print(reader.getFormTextFields())
输出:
在这个输出中,您可以注意到在 terminal 部分 Name 的值为 None。这意味着 PDF 中没有传递任何值。
PdfFileReader example
使用 Python 中的 PdfFileReader 访问 PDF 中的指定目的地
PdfFileReader 提供了一个方法getNamedDestinations(tree = None,retval=None) 来轻松获得 Python 中 PDF 的命名目的地。
- 此函数用于检索文档中的指定目的地。
- 如果没有找到指定的目的地,则返回空字典。
代码片段:
在这段代码中,这个函数用在最后一行。它显示 Smallpdf.pdf 中的指定目的地。
import PyPDF2
pdfObj = open('Smallpdf.pdf', 'rb')
reader = PyPDF2.PdfFileReader(
pdfObj,
strict=True,
warndest=None,
overwriteWarnings=True
)
print(reader.getNamedDestinations())
输出:
在这个输出中,您可以注意到终端返回了空的花括号。这意味着指定的目的地不在 Smallpdf.pdf。
Python tkinter PyPDF2
使用 Python 中的 PDF 文件阅读器获取 PDF 的总页数
PdfFileReader 提供了一个方法 getNumPages()
,用 Python 返回 PDF 文件的总页数。
- 这个函数返回 Python 中 PDF 文件的总页数。
- 它通过页码检索页面信息
代码片段:
在这段代码中,该函数用在显示“sample.pdf”页码的最后一行
import PyPDF2
pdfObj = open('sample', 'rb')
reader = PyPDF2.PdfFileReader(
pdfObj,
strict=True,
warndest=None,
overwriteWarnings=True
)
print(reader.getNumPages())
输出:
在这个输出中,您可以注意到终端上的结果。sample.pdf 总共有 8 页。
Get total number of pages from PDF in Python
使用 Python 中的 PDF 文件阅读器获取 PDF 文件的轮廓
PdfFileReader 提供了一个方法 getOutlines(node=None,outlines=None) 允许在 Python 中检索 PDF 文件中的轮廓
- 此函数检索 PDF 文件中的大纲。
- 换句话说,它检索目标的嵌套列表。
- 当一群人开始看 pdf 时,他们通常会添加一些标记,也称为注释。使用此功能,您可以获取所有标记或轮廓。
- PyPDF2 在 python3.5 之后没有更新,所以有些东西坏了。轮廓功能是其中一个坏的,在 python3.5 之后就停止工作了
- 我们试过了,但对我们没用。即使在向 pdf 添加轮廓后,输出仍显示空字符串。
- 一旦找到解决方案,我们将更新博客。
使用 Python 中的 PDF 文件阅读器跳转到 PDF 的特定页面
PdfFileReader 提供了一个方法 getPage(pageNumber)
允许查看特定页面的内容。
- 这个函数返回所提供的页码上的内容。
- 为了提取可读格式的内容,我们必须使用名为
extractText()
的函数。 extractText()
是 PageObject 类的一个函数。使用此功能,我们可以阅读 pdf 的内容。
代码片段:
在这段代码中,我们使用了名为 Smallpdf.pdf 的单页 pdf 文件。在代码的最后一行,我们传递了 pagenumber 0 作为参数&我们应用了 extractText()函数来显示内容。
import PyPDF2
pdfObj = open('Smallpdf.pdf', 'rb')
reader = PyPDF2.PdfFileReader(
pdfObj,
strict=True,
warndest=None,
overwriteWarnings=True
)
print(reader.getPage(0).extractText())
输出:
在此输出中,您可以看到屏幕上显示了第 0 页的数据,即第一页。内容是人类可读的格式。
python tkinter PyPDF2 getPage
使用 Python 中的 PDF 文件阅读器获取 PDF 的页面模式
PdfFileReader 提供了一个方法 getPageMode()
允许用 Python 获取 PDF 的页面模式。
- 该函数用于获取页面模式。
- 有多种有效的页面模式
模式 | 使用 |
---|---|
/useNone | 不显示轮廓或缩略图面板 |
/使用大纲 | 显示轮廓面板 |
/使用拇指 | 显示页面缩略图 |
/全屏 | 全屏显示 |
/useOC | 显示可选内容组(OCG) |
/use 附件 | 显示附件面板 |
使用 Python 中的 PdfFileReader 获取 PDF 的页面布局
PdfFileReader 提供了一个方法 getPageLayout()
,该方法用 Python 返回 PDF 的页面布局
- 用 Python 获取 PDF 的页面布局
- 有各种有效的布局。
布局 | 使用 |
---|---|
/NoLayout | 未明确指定布局 |
/单页 | 一次显示一页 |
一栏 | 一次显示一列 |
/TwoColumnLeft | 显示页面分两栏,左边 |
添加页码。 | |
/TwoColumnRight | 显示页面分两栏, |
在右边添加页码。 | |
/TwoPageLeft | 一次显示两页, |
在左边添加页码。 | |
/TwoPageRight | 一次显示两页, |
在右边添加页码 |
使用 Python 中的 PdfFileReader 获取 PDF 的加密信息
PdfFileReader 提供了方法 isEncrypted()
,该方法允许检查 PDF 文件是否用 Python 加密
- 显示 PDF 是否使用 Python 加密。
- 返回类型为布尔型(True/False ),并且该函数不可调用。
- 如果 PDF 文件返回 true,那么即使被解密,它也将保持 True。
- 在下图中,你可以看到 Smallpdf.pdf 没有加密,这就是为什么输出是假的。
pdffilereader python example
您可能还会喜欢以下 Python 教程:
至此,我们已经完成了 Python PdfFileReader 类及其函数。有两个函数被贬低了 getOutlines()
和getDestinationPageNumber()
。
下面是几个 PdfFileReader python 例子。
- 使用 Python 中的 PDF 文件阅读器获取 PDF 信息
- 如何在 Python 中使用 PdfFileReader 获取特定页面的 PDF 信息
- 使用 Python 中的 PdfFileReader 从 PDF 获取字段数据
- 如何使用 Python 中的 PdfFileReader 从 PDF 中的字段获取文本数据
- 使用 Python 中的 PdfFileReader 访问 PDF 中的命名目的地
- 如何在 Python 中使用 PdfFileReader 获取 PDF 的总页数
- 如何使用 Python 中的 PdfFileReader 在 PDF 中获得轮廓
- 使用 Python 中的 PdfFileReader 跳转到 PDF 的特定页面
- 如何在 Python 中使用 PdfFileReader 获得 PDF 的页面模式
- 使用 Python 中的 PDF 文件阅读器获取 PDF 的页面布局
- 如何在 Python 中使用 PdfFileReader 获取 PDF 的加密信息
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
PdfFileWriter Python 示例(20 个示例)
在这个 Python 教程中,我们将讨论什么是 Python 中的 PyPDF2 以及 PdfFileMerger 的各种方法,还有 PdfFileWriter Python 示例。
我们将学习 PdfFileWriter 类和方法。PyPDF2 模块中的类被广泛用于将 PDF 文件写入 Python 中的一个文件。我们将检查以下示例:
- 如何在 Python 中添加 PDF 格式的附件
- 如何在 Python 中添加空白页
- 在 Python 中向 PDF 添加书签
- 如何在 Python 中给 PDF 文件添加 JavaScript
- 如何在 Python 中添加 PDF 文件的链接
- 使用 PyPDF2 在 Python 中向 PDF 文件添加元数据
- 如何在 Python 中向 PDF 文件添加页面
- 使用 PyPDF2 在 Python 中为 PDF 文件添加加密
- 使用 Python 中的 PyPDF2 获取页数
- 如何用 Python 从 PDF 文件中获取带页码的页面
- 用 Python 获取 PDF 文件的页面布局
- 在 Python 中获取 PDF 文件的页面模式
- 在 Python 中向 PDF 文件插入空白页
- 用 Python 将页面插入 PDF 文件
- 在 Python 中从 PDF 中移除图像
- 使用 PyPDF2 移除 Python 中 PDF 的链接
- 使用 PyPDF2 在 Python 中设置 PDF 的页面布局
- 在 Python 中设置 PDF 的页面模式
- 使用 Python 中的 PyPDF2 更新交互式 PDF 的页面表单字段值
- 用 Python 写 PDF
目录
- PyPDF2 Python 库
- 在 python 中安装 pypdf 2
- Python 中的 PdfFileWriter
- PdfFileWriter Python 示例
- 1。使用 Python 中的 PyPDF2 在 PDF 文件中添加附件
- 2。在 Python 中为 PDF 文件添加空白页
- 3。使用 PyPDF2 在 Python 中为 PDF 文件添加书签
- 4。使用 Python 中的 PyPDF2 将 JavaScript 添加到 PDF 文件中
- 5。如何使用 pypdf F2在 Python 中添加到 PDF 的链接
- 6。如何使用 PyPDF2 在 Python 中给 PDF 文件添加元数据
- 7 .。使用 PyPDF2 在 Python 中向 PDF 文件添加页面
- 8。使用 PyPDF2 在 Python 中为 PDF 文件添加加密
- 9。如何在 Python 中获取 PDF 文件的页数
- 10。用 Python 获取带有 PDF 文件页码的页面
- 11。用 Python 获取 PDF 文件的页面布局
- 12。使用 Python 中的 PyPDF2 获取 PDF 的页面模式
- 13。如何在 Python 中插入空白页
- 14。使用 PyPDF2 在 Python 中将页面插入 PDF 文件
- 15。使用 PyPDF2 从 Python 的 PDF 中移除图像
- 16。使用 PyPDF2 删除 Python 中 PDF 的链接
- 17。在 Python 中设置 PDF 的页面布局
- 18。使用 Python 中的 PyPDF2 设置 PDF 的页面模式
- 19。使用 Python 中的 PyPDF2 更新交互式 PDF 的页面表单字段值
- 20。用 Python 中的 PyPDF2 写一个 PDF
PyPDF2 Python 库
- Python 被用于各种各样的目的&用各种活动的库和类来装饰。出于这些目的,其中一个是用 Python 从 PDF 中读取文本。
PyPDF2
提供了帮助我们读取、合并、编写pdf 文件的类。PdfFileReader
用于执行与读取文件相关的所有操作。- pdf 文件合并器用于将多个 pdf 文件合并在一起。
PdfFileWriter
用于对 pdf 执行写操作。
- 所有的类都有不同的方法,方便程序员控制和执行 pdf 上的任何操作。
- PyPDF2 在 Python3.5 之后已经停止接收任何更新,但仍用于控制 PDF。在本教程中,我们将涵盖关于
PdfFileMerger
类&的一切,我们将告诉你所有的函数都贬值或损坏了什么。
在 python 中安装 pypdf 2
要在 Python 中使用 PyPDF2 库,我们需要首先安装 PyPDF2。按照以下代码在您的系统中安装 PyPDF2 模块。
pip install PyPDF2
阅读完本教程后,您将对 PdfFileMerger 类中的每个函数有完整的了解。此外,我们将演示 PdfFileMerger 类中每个函数的例子。
Python 中的 PdfFileWriter
- 这个类支持写出 PDF 文件,给定由另一个类(通常是 PdfFileReader)产生的页面。
- 它提供了各种帮助我们编写 PDF 的功能
- 使用这个类的第一步是导入
PyPDF
模块。
import PyPDF
- 下一步是初始化该类
PyPDF2.PdfFileWriter()
像其他类一样,PdfFileWriter 也有一些函数可以帮助程序员在他的程序中添加各种功能。接下来,让我们了解一下可用的功能。
PdfFileWriter Python 示例
在这一节中,我们将介绍 PyPDF2 中所有可用的方法。Python 中的 PdfFileWriter 类。我们将用一个例子来解释一切。
请注意 PyPDF2 模块在 python3.5 之后没有更新,所以可能有一些函数被破坏和不起作用。我们使用的是 Python3.8,所以我们会在这里留一个说明。
1。使用 Python 中的 PyPDF2 在 PDF 文件中添加附件
PyPDF2 提供了一个方法 addAttachment(fname,fdata) ,使用该方法可以在 Python 中的 PDF 中添加附件。
- 此功能用于在 PDF 文件中嵌入附件。一边用 Python 写 PDF。如果您想添加任何附件,如图像、视频、giff 等,您可以使用此功能插入。
- 它有两个参数,文件名和文件数据
- 参数:
fname
(str):为文件提供一个名称fdata
(str):提供您想要嵌入的数据
2。在 Python 中为 PDF 文件添加空白页
PyPDF2 提供了一个方法 addBlankPage(width=None,height=None) 允许在 Python 中的 PDF 中添加空白页。
- 将空白页附加到 PDF 文件并返回它。如果未指定页面大小,则使用最后一页的大小。
- 如果没有为最后一页指定页面大小,则会引发异常``PageSizeNotDefinedError
.
- 参数:
width
(float)–新页面的宽度,以默认用户空间单位表示。height
(float)–新页面的高度,以默认用户空间单位表示。
- 下面是在 Python 中使用 PyPDF2 的例子
addBlankPage()
。
代码片段:
在这段代码中,我们创建了一个名为“BlankPdf.pdf”的 PDF 文件,并添加了 2 个不同宽度和高度的空白页。
from PyPDF2 import PdfFileWriter
file = PdfFileWriter()
file.addBlankPage(
width= 200,
height= 200
)
file.addBlankPage(
width=100,
height=500
)
output = open('blankPdf.pdf', 'wb')
file.write(output)
输出:
在这个输出中,我们使用 Python 中的 PyPDF 展示了对 addBlankPage()
方法的实现。
addBlankPage method implementation
在第二张图中,你可以注意到有两个空白页&两个都有不同的高度和宽度。
Add Blank Page using PyPDF2 in Python
这就是我们如何使用 PyPDF2 库在 Python 中向 pdf 文件添加空白页。
3。使用 PyPDF2 在 Python 中为 PDF 文件添加书签
Python 中的 PyPDF2 提供了一个方法 addBookMark()
,该方法允许在 Python 中的 PDF 文档中添加书签。
addBookmark(
title,
pagenum,
parent=None,
color=None,
bold=False,
italic=False,
fit='/Fit',
*args
)
- 这个函数在 Python 中向 PDF 文件添加书签。使用书签在 PDF 页面中导航变得很容易。
- 参数:
- 标题(str)–用于该书签的标题。
pagenum
(int)–该书签将指向的页码。parent
–对父书签的引用,用于创建嵌套书签。Color
(tuple)–书签的颜色,为从 0.0 到 1.0 的红、绿、蓝元组- 粗体(布尔值)–书签为粗体
- 斜体(布尔值)–书签为斜体
fit
(str)–目标页面的适合度。
- 下面是一个关于
addBookmark()
方法的例子。
代码片段:
在这段代码中,我们使用 PdfFileReader 读取 python 中的 PDF 文件,然后使用 PyPDF2 模块使用 PdfFileWriter 添加一本书并在 Python 中编写新的 PDF 文件。
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addBookmark(
title='Grade-1998',
pagenum=0,
parent=None,
color= None,
bold=True,
italic=False,
fit='/Fit',
)
output = open('NewGrades.pdf','wb')
writer.write(output)
output.close()
输出:
在这个输出中,我们用 Python 打开了新创建的 PDF 文件。你可以看到书签出现在左边。
Add Bookmark to PDF using PyPDF2 in Python
这就是如何在 Python 中使用 pypdf 2将书签添加到 PDF 中。
4。使用 Python 中的 PyPDF2 将 JavaScript 添加到 PDF 文件中
PyPDF2 提供了一个方法 addJS(javascript)
,使用该方法可以将 javascript 添加到 Python 中的 PDF 文件中。
- 此函数添加 JavaScript,它将在打开 PDF 时启动。
- 它主要用于创建交互式 pdf。
- 参数:
javascript
(str)–任何 JavaScript
5。如何使用 pypdf F2在 Python 中添加到 PDF 的链接
Python 中的 PyPDF2 提供了方法 addLink(pagenum,pagedest,rect,border=None,fit='/Fit ',*args) 使用该方法可以将内部链接添加到 Python 中的 PDF 页面。
- 这个函数添加一个从矩形区域到指定页面的内部链接。
- 参数:
pagenum
(int)–放置链接的页面的索引。page dest
(int)–链接应该到达的页面的索引。rect
–rectangle object 或四个整数的数组,指定可点击的矩形区域[xLL,yLL,xUR,yUR],或“[ xLL yLL xUR yUR ]”形式的字符串。border
–如果提供,描述边框绘制属性的数组。详情请见 PDF 规范。如果省略该参数,将不会绘制边框。- 适合(str)–页面适合或“缩放”选项(见下文)。可能需要提供其他参数。传递 None 将被读取为该坐标的空值。
可用的缩放选项如下:
缩放参数 | 描述 |
---|---|
/适合 | 没有其他参数 |
/XYZ | [左][上] [zoomFactor] |
/FitH | [顶部] |
/FitV | [左] |
/FitR | [左][下][右][上] |
/FitB | 没有其他参数 |
/FitBH | [顶部] |
/FitBV | [左] |
下面是 PyPDF2 的 addLink()方法在 Python 中的实现
代码片段:
在这段代码中,我们使用 PyPDF2 中的 PdfFileReader 读取了 PDF 文件,然后使用该 PDF 文件添加了链接,并使用 PyPDF2 中的 PDFFileWriter 创建了 NewGrades.pdf。
from PyPDF2 import PdfFileWriter, PdfFileReader
from PyPDF2.generic import RectangleObject
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
linkfrom = writer.addPage(reader.getPage(0))
linkto = writer.addPage(reader.getPage(2))
writer.addLink(
pagenum=0,
pagedest=1,
rect=RectangleObject([0,20,100,120]),
border='dott',
fit='/Fit'
)
output = open('NewGrades.pdf','wb')
writer.write(output)
output.close()
输出:
下面是使用 PyPDF2 在 Python 中实现上述代码的输出。在这段代码中,我们正在阅读 Grades.pdf,并创建了有链接的 NewGrades.pdf。
Add Link to PDF using PYPDF2 in Python
第二张图显示了在 PDF 中创建的总页数,第 1 页上添加了一个链接,如果单击该链接,用户将直接进入第 3 页。
Add Link to PDF using PYPDF2 in Python
这就是如何在 Python 中使用 PYPDF2 添加到 PDF 的链接。
6。如何使用 PyPDF2 在 Python 中给 PDF 文件添加元数据
PyPDF2 提供了方法 addMetadata(infos)
,使用该方法可以将元数据添加到 Python 中的 PDF 文件。
- 该函数将自定义元数据添加到输出中。
- 参数:
infos
(dict)——一个 Python 字典,其中每个键是一个字段,每个值是新的元数据。
- 下面是 Python 中使用 PyPDF 的
addMetadata()
方法的例子。
代码片段:
from PyPDF2 import PdfFileWriter, PdfFileReader
from PyPDF2.generic import RectangleObject
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
writer.addLink(
pagenum=1, # page on which link will be placed
pagedest=2, # page to which link will go
rect=RectangleObject([0,20,100,120]),
border='dott',
fit='/Fit'
)
metadata = {
'/Title': 'Richard\'s Grade',
'/Subject': 'Richard\'s updated performance report',
'/Author': 'PythonGuides'
}
writer.addMetadata(metadata)
output = open('NewGrades.pdf','wb')
writer.write(output)
output.close()
输出:
在此输出中,第一个图像显示了没有元数据的 PDF 文档属性。
Add Metadata to pdf file using PyPDF2 in Python
在第二个输出图片中,PDF 文档属性与元数据一起显示
Add Metadata to pdf file in Python
这是如何在 Python 中使用 PyPDF2 向 PDF 文件添加元数据。
7。使用 PyPDF2 在 Python 中向 PDF 文件添加页面
Python 中的 PyPDF2 提供了方法 addPage(page)
,该方法可用于在 Python 中的 PDF 文档中添加页面。
- 此功能向 PDF 文件添加页面。该页通常是从 PdfFileReader 实例中获取的。
- 参数:page(page object)-要添加到文档中的页面。应为 PageObject 的实例。
8。使用 PyPDF2 在 Python 中为 PDF 文件添加加密
Python 中的 PyPDF2 提供了方法 encrypt(user_pwd,owner_pwd=None,use_128bit=True) ,使用该方法可以将加密添加到 Python 中的 PDF 文件中。
- 使用 PDF 标准加密处理程序加密 PDF 文件。使用这个函数可以保护 Python 中的 PDF。
- 参数:
user _ pwd
(str)—“用户密码”,允许在规定的限制下打开和阅读 PDF 文件。owner _ pwd(
str)——“所有者密码”,允许不受任何限制地打开 PDF 文件。默认情况下,所有者密码与用户密码相同。use _ 128 bit
(bool)–标志是否使用 128 位加密。如果为 false,将使用 40 位加密。默认情况下,此标志是打开的。
- 下面是 Python 中 PyPDF2 模块中 PdfFileWriter 上的
encrypt()
方法的例子。
代码片段:
在这段代码中,我们使用 Python 中的 PyPDF2 对 PDF 进行加密。
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
# adding encryption
writer.encrypt(
user_pwd='Test',
owner_pwd='test',
use_128bit=True
)
output = open('NewGrades.pdf','wb')
writer.write(output)
output.close()
输出:
在这个输出中,PDF 被加密保护。PDF 上有一把锁,需要密码才能打开。
Add Encryption to PDF file in Python
Add Encryption to PDF file in Python using PyPDF2
这就是我们如何使用 PyPDF2 库在 Python 中用密码保护 PDF 文件。
9。如何在 Python 中获取 PDF 文件的页数
PyPDF2 提供了一个方法 getNumPages()
,使用该方法可以在 Python 中显示页面总数。
下面是 Python 中使用 PyPDF2 的 getNumPages()方法的示例。
代码片段:
下面是在 Python 中使用 PyPDF2 显示 PDF 页数的代码。
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
print(writer.getNumPages())
输出:
在这个输出中,我们在 PyPDF2 的第 6、7、8 行使用 PdfFileWriter()
读取了 3 个页面,当我们应用 getNumPages()
方法时,终端上显示了 3 个页面。
Get Number of Pages using PyPDF2 in Python
这就是如何在 Python 中使用 pypdf 2获得页数。
10。用 Python 获取带有 PDF 文件页码的页面
Python 中的 PyPDF2 提供了一个方法 getPage(pageNumber)
,使用该方法可以从特定的页码中检索信息。
- 用 Python 从 PDF 文件中按编号检索页面。它在页码给定的索引处返回页面
- 参数:
page number
(int)–要检索的页码(页面从零开始)
- 下面是 Python 中使用 PyPDF2 的 getPage()方法的例子。
代码片段:
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
print(writer.getPage(1))
输出:
在该输出中,第 1 页的信息显示在终端中。要查看人类可读格式的信息,请使用 Python 中 PyPDF2 的 extractText()
方法。
Get Page with Page Number using PyPDF2 in Python
在 Python 中,这是如何在 Python 中使用 pypdf 2获取带有页码的页面。
11。用 Python 获取 PDF 文件的页面布局
Python 中的 PDF2 提供了 getPageLayout()
,它返回 Python 中 PDF 的当前页面布局。它返回 Python 中 PDF 文档当前使用的页面布局
下面是 Python 中使用 PyPDF2 的 getPageLayout()
方法中可用布局的列表
布局 | 说明 |
---|---|
/NoLayout | 未明确指定布局 |
/单页 | 一次显示一页 |
一栏 | 一次显示一列 |
/TwoColumnLeft | 以两栏显示页面,奇数页在左边 |
/TwoColumnRight | 以两栏显示页面,奇数页在右边 |
/TwoPageLeft | 一次显示两页,奇数页在左边 |
/TwoPageRight | 一次显示两页,奇数页在右边 |
下面是 Python 中使用 PyPDF2 的 getPageLayout()
方法的例子。
代码片段:
在这段代码中,我们使用 PyPDF2 中的 getPageLayout()
方法显示 PDF 的页面布局。
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
print(writer.getPageLayout())
输出:
在该输出中, None
显示在终端上。这意味着 Python 中没有为这个 PDF 设置页面布局。
Get Page Layout using PDF2 in Python
上面的代码我们可以用来在 Python 中使用 PDF2 获得页面布局。
12。使用 Python 中的 PyPDF2 获取 PDF 的页面模式
PyPDF2 提供了一个方法 getPageMode()
,该方法返回 Python 中 PDF 文档使用的当前模式。
下面是 Python 中 PyPDF2 的 getPageMode()方法中的有效模式列表。
模式 | 说明 |
---|---|
/UseNone | 不显示轮廓或缩略图面板 |
/使用大纲 | 显示轮廓(又名书签)面板 |
/使用拇指 | 显示页面缩略图面板 |
/全屏 | 全屏视图 |
/UseOC | 显示可选内容组(OCG)面板 |
/use 附件 | 显示附件面板 |
13。如何在 Python 中插入空白页
PyPDF2 提供了一个方法 insertBlankPage(width=None,height=None,index=0) ,使用该方法可以在 Python 中的 PDF 文档中插入空白页。
- 将空白页插入此 PDF 文件并返回。如果没有指定页面大小,则使用最后一页的大小。
- 如果没有前一页,则引发异常:
Raises PageSizeNotDefinedError
- 参数:
width
(float)–新页面的宽度,以默认用户空间单位表示。height
(float)–新页面的高度,以默认用户空间单位表示。index
(int)–添加页面的位置。
- 下面是 Python 中使用 PyPDF2 的
insertBlankPage()
方法的例子。
代码片段:
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
writer.addBlankPage()
writer.addBlankPage()
output = open('NewGrades.pdf','wb')
writer.write(output)
output.close()
输出:
在这个输出中,首先我们显示了没有空白页的 PDF。
Insert Blank Page using PyPDF2 in Python
在这个输出中,您可以看到我们运行这个程序后的结果。您可以看到 Python 中的 PDF 中添加了两个空白页。
Insert Blank Page using PyPDF2 in Python
这就是如何在 Python 中使用 pypdf 2插入空白页。
14。使用 PyPDF2 在 Python 中将页面插入 PDF 文件
PyPDF2 提供了一个方法 insertPage(page,index=0) ,使用该方法可以在 Python 中的 PDF 文档中插入新页面。
- 用 Python 在 PDF 文件中插入页面。该页通常是从 PdfFileReader 实例中获取的。
- 参数:
- 页面(page object)–要添加到文档中的页面。此参数应该是 PageObject 的一个实例。
index
(int)–页面将被插入的位置。
15。使用 PyPDF2 从 Python 的 PDF 中移除图像
Python 中的 PyPDF 提供了remove images(ignoreByteStringObject = False)
方法,该方法允许从 Python 中的 PDF 文件中删除图像。
- 从 Python 的输出中移除图像。
- 参数:
ignoreByteStringObject
(bool)–忽略字节字符串的可选参数
- 下面是 Python 中使用 PyPDF2 的
removeimage()
方法的例子。
代码片段:
在这段代码中,我们将使用 PyPDF2 中的 removeImages()
方法从 Python 中的 PDF 中删除图像。
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
newreader = PdfFileReader(open('Smallpdf.pdf', 'rb'))
writer.addPage(newreader.getPage(0))
writer.removeImages(ignoreByteStringObject=False)
output = open('Digital.pdf','wb')
writer.write(output)
output.close()
输出:
这是我们在这个例子中使用的 PDF,在下一个图像中,您将看到使用 Python 中的 PyPDF2 移除了所有图像的相同 PDF。
Remove Images from PDF using PyPDF2 in Python
第二个图像是程序执行时的图像。第一张图片也是如此,你会发现这张图片缺少一些图片。这样我们就可以用 Python 中的 PyPDF2 从 PDF 中移除图像。
Remove Images from PDF file in Python
这就是我们如何使用 Python 中的 PyPDF2 从 PDF 文件中移除图像。
16。使用 PyPDF2 删除 Python 中 PDF 的链接
PyPDF2 提供了一个方法 removeLinks()
,它允许从 Python 中的 PDF 文件中删除链接。它从 Python 的输出 PDF 中移除链接和注释。
下面是 Python 中使用 PyPDF2 的 removeLinks()
模块的例子。
代码片段:
在这段代码中,我们使用 Python 中的 PyPDF2 删除了 PDF 中的所有链接。请注意,链接文本的颜色将保持不变,但它将不再有页面或网页的地址。
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
newreader = PdfFileReader(open('Smallpdf.pdf', 'rb'))
writer.addPage(newreader.getPage(0))
writer.removeLinks()
output = open('Digital.pdf','wb')
writer.write(output)
output.close()
输出:
这是我们正在使用的 PDF,所有圈出的单词都是超链接。使用 removeLinks()
方法我们将从文档中移除所有链接。
Remove Links from PDF using PyPDF2 in Python
在此图片中,您标记的文本不再是链接。文本颜色保持不变,但是使用 PyPDF2 中的 removeLinks()
方法移除了超链接。
Remove Links from PDF using PyPDF2 in Python
这就是我们如何使用 Python 中的 PyPDF2 从 PDF 文件中移除链接。
17。在 Python 中设置 PDF 的页面布局
Python 中的 PyPDF2 提供了一个方法 setPageLayout(layout)
,使用该方法可以将页面布局分配给 Python 中的 PDF。
- 设置页面布局
- 就像使用
getPageLayout()
方法一样,我们可以查看页面布局。同样,使用此方法,我们可以分配页面布局。 - 以下是可以应用的布局列表
布局 | 说明 |
---|---|
/NoLayout | 未明确指定布局 |
/单页 | 一次显示一页 |
一栏 | 一次显示一列 |
/TwoColumnLeft | 以两栏显示页面,奇数页在左边 |
/TwoColumnRight | 以两栏显示页面,奇数页在右边 |
/TwoPageLeft | 一次显示两页,奇数页在左边 |
/TwoPageRight | 一次显示两页,奇数页在右边 |
下面是 Python 中使用 PyPDF2 的 setPageLayout()
方法的例子。
代码片段:
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
writer.setPageLayout('/TwoColumnRight')
output = open('NewGrades.pdf','wb')
writer.write(output)
output.close()
输出:
Set Page Layout of PDF using PyPDF2 in Python
这就是如何在 Python 中使用 pypdf 2设置 PDF 的页面布局。
18。使用 Python 中的 PyPDF2 设置 PDF 的页面模式
PyPDF2 提供了一个方法 setPageMode(mode)
,使用该方法可以设置页面模式。
以下是可用的有效模式列表:
模式 | 说明 |
---|---|
/UseNone | 不显示轮廓或缩略图面板 |
/使用大纲 | 显示轮廓(又名书签)面板 |
/使用拇指 | 显示页面缩略图面板 |
/全屏 | 全屏视图 |
/UseOC | 显示可选内容组(OCG)面板 |
/use 附件 | 显示附件面板 |
代码片段:
在这段代码中,我们使用 Python 中的 PyPDF2 模块将页面模式设置为全屏。
from PyPDF2 import PdfFileWriter, PdfFileReader
writer = PdfFileWriter()
reader = PdfFileReader(open('Grades.pdf', 'rb'))
writer.addPage(reader.getPage(0))
writer.addPage(reader.getPage(1))
writer.addPage(reader.getPage(2))
writer.setPageMode('/FullScreen')
output = open('NewGrades.pdf','wb')
writer.write(output)
output.close()
输出:
在此输出中,我们将页面模式设置为全屏,现在每次打开 PDF 时,它都会以全屏方式打开。
19。使用 Python 中的 PyPDF2 更新交互式 PDF 的页面表单字段值
PyPDF2 提供了方法updatePageFormFieldValues(page,fields) ,使用该方法可以更新 PDF 表单字段。
- 从字段字典中更新给定页面的表单字段值。将字段文本和值从字段复制到页面。
- 此方法可用于交互式 PDF。交互式 pdf 允许用户提供他们的输入。
- 参数:
- 页面–来自 PDF writer 的页面参考,注释和字段数据将在此更新。
- 字段–包含字段名称(/T)和文本值(/V)的 Python 字典
20。用 Python 中的 PyPDF2 写一个 PDF
PyPDF2 提供了一个方法 write(stream)
,使用它可以用 Python 编写 PDF。
- 将添加到此对象的页面集合作为 PDF 文件写出。
- 参数:
stream
–文件写入的对象。该对象必须支持 write 方法和 tell 方法,类似于 file 对象。
- 如果你正在阅读本教程,那么你一定知道 write()方法是做什么的。因此,无论我们执行什么操作,如果我们想用这些设置和功能创建一个新的 PDF,我们都要使用 PyPDF2 中的 write()方法。
您可能会喜欢以下 Python pdf 教程:
所以在本教程中,我们已经使用 Python 中的 PyPDF2 模块学习了关于 PdfFileWriter 及其方法的一切。此外,我们还介绍了 20 个 PdfFileWriter Python 示例:
- 如何在 Python 中添加 PDF 格式的附件
- 如何在 Python 中添加空白页
- 在 Python 中向 PDF 添加书签
- 如何在 Python 中给 PDF 文件添加 JavaScript
- 如何在 Python 中添加 PDF 文件的链接
- 使用 PyPDF2 在 Python 中向 PDF 文件添加元数据
- 如何在 Python 中向 PDF 文件添加页面
- 使用 PyPDF2 在 Python 中为 PDF 文件添加加密
- 使用 Python 中的 PyPDF2 获取页数
- 如何用 Python 从 PDF 文件中获取带页码的页面
- 用 Python 获取 PDF 文件的页面布局
- 在 Python 中获取 PDF 文件的页面模式
- 在 Python 中向 PDF 文件插入空白页
- 用 Python 将页面插入 PDF 文件
- 在 Python 中从 PDF 中移除图像
- 使用 PyPDF2 移除 Python 中 PDF 的链接
- 使用 PyPDF2 在 Python 中设置 PDF 的页面布局
- 在 Python 中设置 PDF 的页面模式
- 使用 Python 中的 PyPDF2 更新交互式 PDF 的页面表单字段值
- 用 Python 写 PDF
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
python 中的百分号是什么意思
在本 Python 教程中,我们将讨论在 python 中百分号是什么意思。我们还将检查一些示例:
- python 中的百分号是什么意思
- python 中的%s 是什么意思
- Python 整数取模
- 带浮点的 Python 模
- Python 零除法误差
- Python 负数取模
目录
python 中的百分号是什么意思
在 python 中,百分号被称为模运算符“%”,它返回左操作数除以右操作数后的余数。
举例:
value1 = 8
value2 = 2
remainder = value1 % value2
print(remainder)
写完上面的代码(百分比符号在 python 中是什么意思),你将打印出“余数”,然后输出将显示为“0”。这里,模运算符“%”返回两个数相除后的余数。
可以参考下面的截图百分号在 python 中是什么意思。
percentage symbol mean in python
python 中的%s 是什么意思
%s 运算符允许您将值添加到 python 字符串中。%s 表示您想要将字符串值添加到字符串中,它也用于格式化字符串中的数字。
举例:
var = '20'
string = "Variable as string = %s" %(var)
print(string)
写完上面的代码后(python 中%s 是什么意思),你将打印出 " string "
,然后输出将显示为一个"变量 as string = 20 " 。这里, " %s " 用于添加字符串值,并将该值转换为字符串。
你可以参考下面的截图%s 在 python 中是什么意思
What does %s mean in python
Python 用整数取模
在 python 中,当两个数都是整数时,那么余数也是整数值。
举例:
integer1 = 10
integer2 = 5
remainder = integer1 % integer2
print(remainder)
写完上面的代码( python 模整数),你将打印出“余数”,然后输出将显示为“0”。这里,模运算符" "
返回整数 1 和整数 2 这两个数相除后的余数。
下面是截图 python 模整数
Python 模带浮点
在 python 中,如果其中一个数是 float,那么输出的将是浮点数。
举例:
float1 = 10
float2 = 3.0
remainder = float1 % float2
print(remainder)
写完上面的代码(python modulo with float),你将打印出“余数”,然后输出将显示为“1.0”。这里,模运算符" " "
返回 float1 和 float2 两个数相除后的余数。
你可以参考下面的截图 python 带浮点模
Python 零除法误差
在 python 中,我们得到这个 ZeroDivisionError
如果除数是 0,那么模块操作符会抛出这个错误,因为我们不能除以 0。
举例:
value1 = 8
value2 = 0
remainder = value1 % value2
print(remainder)
写完上面的代码(python 零除法错误),你将打印出“余数”,然后输出将显示为“零除法错误:整数除法或以零为模”。在这里,模操作符“%”如果除以 0,就会抛出一个错误。
下面是截图 python 零除错误。
Python 负数取模
在 python 中,模运算符总是给出与除数符号相同的余数。
举例:
value1 = -11
value2 = 3
remainder = value1 % value2
print(remainder)
写完上面的代码(python 模负数),你将打印出“余数”,然后输出将显示为“1”。这里,余数和除数符号相同,所以我的除数是正的,这就是为什么余数也是正的,反之亦然。
下面截图 python 以负数为模。
您可能会喜欢以下 Python 教程:
- Python 内置函数示例
- 获取当前目录 Python
- 语法错误返回外部函数 python
- 从字符串 Python 中删除字符
- 在 Python 中创建一个空数组
- python 中的无效语法
- 语法错误标识符 python3 中的无效字符
- Python 加法示例
- Python 创建空集
在本教程中,我们通过各种例子学习了 python 中百分号的含义。
- python 中的百分号是什么意思
- python 中的%s 是什么意思
- Python 整数取模
- 带浮点的 Python 模
- Python 零除法误差
- Python 负数取模
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
如何在 Python 中寻找完全数
你知道如何用 Python 处理一个完美的数字吗?本 Python 教程将讨论如何在 Python 中求完全数。此外,我们还将讨论以下主题。
- 如何在 Python 中寻找完全数
- 如何在 Python 中用 for 循环求完全数
- 如何使用 while 循环在 Python 中寻找完全数
- 如何用链表在 Python 中找到完全数
- 如何在 python 中求完美平方数
- 如何在 Python 中寻找完全数函数
- 如何找到完全数的 python 程序
- 如何找到 python 打印所有完全数
- 如何用递归在 Python 中求完全数
目录
- Python 中的完全数
- 使用 while 循环的 Python 中的完全数
- 使用 for 循环的 Python 中的完全数
- python 中的完美平方数
- Python 中的完全数函数
- Python 程序求完全数与否
- Python 打印所有完全数
- Python 中使用递归的完全数
Python 中的完全数
- 在 Python 中,任何一个数都可以是一个完全数,如果它的所有正约数,不包括这个数本身,加起来都是相同的值。
- 简单地说,如果一个数的约数之和等于该数,则认为该数是完美的。
- 首先,我们将使用一个整数获取输入,并将它们存储在一个变量中。我们现在将定义一个名为“result”的变量,在这里我们将存储指定数字的除数的总和。
- 下面的任务是创建一个 for 循环,在这个循环中,我们将把数字除以变量的初始值,然后增加 I 的值,并确定哪些数字的余数为零。
- 现在,使用变量“result”,我们将添加该数的约数。
- 最后,为了比较用户提供的数字和值,我们将利用决策语句关键字“if”
- 例如,在 Python 中,6 是一个完美的数字,因为它可以被 1、2、3 和 6 整除。所以,1+2+3 = 6(记住,我们要忽略数字本身。)是这些值的总和。
举例:
input_num = int(input("Enter the value:"))
result = 0
for m in range(1, input_num ):
if(input_num % m == 0):
result = result + m
if (result == input_num ):
print("Yes it is a Perfect number!")
else:
print("No ,the value is not a Perfect number!")
下面是以下代码的截图
Perfect number in Python
这就是我们如何在 Python 中得到完美数字的方法。
使用 while 循环的 Python 中的完全数
- 在这一节中,我们将讨论如何通过使用 Python 中的 while 循环来获得 Python 中的完美数字。
- 为了执行这个特定的任务,我们将使用 while 循环概念,在本例中,我们将使用输入用户并输入号码。接下来,我们将应用 while 循环来生成从 1 到 n 的数,其中 n 不包括在内,因为我们需要该数的真约数之和。
- 在指定的条件为假之前,将使用 Python 中的 while 循环重复一组语句。
- 在本例中,我们将在 n<new_val then="" n="="></new_val>
举例:
new_val = int(input("Enter the value: "))
n = 1
result = 0
while(n < new_val):
if(new_val % n == 0):
result = result + n
n = n + 1
if (result == new_val):
print("It is a Perfect Number",new_val)
else:
print("It is not the Perfect Number",new_val)
下面是以下给定代码的实现
Perfect number in Python using while loop
在这个例子中,我们已经理解了如何使用 while 循环在 Python 中显示完美的数字。
阅读: Python 字典追加
使用 for 循环的 Python 中的完全数
- 在这里,我们将讨论如何通过使用 Python 中的 for-loop 方法,在 Python 中显示完全数。
- Python 中的 for 循环通常用于迭代可以迭代的项目,例如列表、元组或字符串。
- 首先在这个例子中,我们将使用一个整数获取输入,并将它们存储在一个变量中。我们现在将定义一个名为“result”的变量,在这里我们将存储指定数字的除数的总和。
举例:
input_num = int(input("Enter the value:"))
result = 0
for m in range(1, input_num ):
if(input_num % m == 0):
result = result + m
if (result == input_num ):
print("Yes it is a Perfect number!")
else:
print("No ,the value is not a Perfect number!")
在下面给定的代码中,首先,我们将从用户处获取输入并设置条件(input_num % m == 0 ),如果相等,它将显示“是,这是一个完美的数字”。
下面是以下给定代码的实现。
Perfect number in Python using for loop
阅读: Python 方块一号
python 中的完美平方数
- 完美的正方形是任何可以被表示为两个相等的整数的乘积的数。例如,数字 36 是一个完美的正方形,因为它可以表示为 6*6。
- Python 包含一个内置的 sqrt()函数,它返回一个数的平方根。它解释了如何计算一个值的平方根乘以它自己得到一个数。因为不能直接调用 sqrt()方法来获得给定数字的平方根,所以我们必须使用数学模块。
- 假设我们有 n,我们必须确定 n 是否是一个完美的平方。当一个数的平方根是一个整数时,它被认为是一个完美的平方数。
举例:
import math
new_val = int(input("Enter the value: "))
result = math.sqrt(new_val)
if int(result + 0.5) ** 2 == new_val:
print(new_val, "Yes it is a perfect square")
else:
print(new_val, "No it is not a perfect square")
在上面的代码中,我们首先导入数学模块,然后输入用户。接下来,我们使用 math.sqrt()函数,在这个函数中,我们将“new_val”作为参数传递。
下面是以下给定代码的实现。
perfect square number in python
这就是我们如何通过使用 math.sqrt()函数在 Python 中创建一个完美的平方数。
Python 中的完全数函数
- 一个完全数是一个正整数,不包括这个数本身,等于它的所有正整数因子的总和。以数字 6 为例。它的除数,不包括它自己,是 1,2 和 3。因此,它的约数之和,即 1+2+3,等于 6。
- 在 Python 中,可以用一个函数来判断一个数是否完美。称为函数的代码单元执行特定的任务。
- 这个完全数程序可以输入任何数字。在这个数字的帮助下,这些函数将确定这个数字是否是一个完美的数字。
举例:
def new_perf_num(m):
total = 0
for z in range(1,m):
if(m%z == 0):
total = total+z
return total
m = 7
if(m == new_perf_num(m)):
print(m, "It is a perfect number")
else:
print(m, "It is not a perfect number")
下面是以下给定代码的执行。
perfect number function in Python
阅读: Python 字典方法
Python 程序求完全数与否
- 在本节中,我们将讨论如何在 Python 中检查数字是否完美。
- 下面的任务是创建一个 for 循环,在这个循环中,我们将把数字除以变量的初始值,然后增加 I 的值,并确定哪些数字的余数为零。
- 首先,我们必须要求用户输入一个整数,该整数将保存在输入数字字段中。接下来,声明一个名为“sum 变量”的变量,它将保存输入数的除数之和。
- 使用 for 循环,我们将确定输入的数字是否除以提供的数字,或者它是否导致零提醒。这些数将是我们的约数。现在,将每个除数添加到 sum 变量中。
- 最后一步使用决策语句将用户提供的数字与 sum 变量值进行比较。如果值相等,用户提供的数字将显示为一个完全数。
举例:
new_input_val = int(input("Enter the value:"))
result = 0
for m in range(1, new_input_val ):
if new_input_val % m == 0:
result = result + m
if result == new_input_val :
print(f"Value {new_input_val } is perfect number")
else:
print(f"Value {new_input_val } is not a perfect number")
下面是以下给定代码的实现
Python program for perfect numbers or not
这就是我们如何在 Python 中检查数字是否完美的方法。
Python 打印所有完全数
- 这里我们将讨论如何用 Python 打印所有的完全数。
- 在这个例子中,我们必须打印最低数字和最高数字之间的所有完全数,但是在这个例子中,最高数字是无穷大,所以我们将声明一个数字 2000。
- 为了执行这个细节,我们需要使用 while 循环概念,在这个例子中,我们将使用输入用户并输入号码。接下来,我们将应用 for 循环来生成从 1 到 n 的数,其中 n 不包括在内,因为我们需要该数的真约数之和。
举例:
我们举个例子,看看如何用 Python 打印所有的完全数。
源代码:
new_start_val = int(input("Enter the beginning value of the range"))
new_end_val = int(input("Enter the last value of the range"))
for m in range(new_start_val, new_end_val+1):
result = 0
for z in range(1, m):
if m%z == 0:
result += z
if m == result:
print(m)
你可以参考下面的截图。
Python prints all perfect number
正如你在截图中看到的,我们已经理解了如何用 Python 打印所有的完全数。
Python 中使用递归的完全数
- 在这个例子中,我们将讨论如何通过使用递归方法在 Python 中获得完全数。
- 递归函数反复调用自己。它的功能类似于我们之前讨论的循环,尽管有些情况下递归优于循环。
- 基本情况和递归步骤是每个递归函数的两个部分。基本案例通常包含最小的输入和易于验证的解决方案。此方法还防止函数无限期地调用自身。
举例:
def perfect_number(n):
result = 0
for z in range(1,n):
if n%z==0:
result += z
return result == n
new_output = int(input("Enter the value:"))
if perfect_number(new_output):
print('It is a Perfect number',new_output)
else:
print('It is not a perfect number',new_output)
首先,我们将使用一个整数获取输入,并将它们存储在一个变量中。我们现在将定义一个名为“result”的变量,在这里我们将存储指定数字的除数的总和。
下面的任务是创建一个 for 循环,在这个循环中,我们将把数字除以变量的初始值,然后增加 I 的值,并确定哪些数字的余数为零。
因此,它将检查条件是否是一个完美的数字。
下面是以下给定代码的输出。
Perfect number in Python using recursion
您可能也喜欢阅读以下 Python 教程。
在本教程中,我们讨论了如何在 Python 中找到完美的数字。我们还讨论了以下主题。
- 如何在 Python 中寻找完全数
- 如何在 Python 中用 for 循环求完全数
- 如何使用 while 循环在 Python 中寻找完全数
- 如何用链表在 Python 中找到完全数
- 如何在 python 中求完美平方数
- 如何在 Python 中寻找完全数函数
- 如何找到完全数的 python 程序
- 如何找到 python 打印所有完全数
- 如何用递归在 Python 中求完全数
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 程序打印图案(10 个例子)
在本 python 教程中,你将学习如何在 Python 中**打印图案,以及 Python 程序打印图案,我们还将检查 :**
- Python 程序打印数字模式
- 打印图案的 Python 程序 1 12 123
- 使用嵌套 for 循环打印模式的 Python 程序
- Python 程序打印星形图案
- 打印图案的 Python 程序 1 22 333
- Python 程序以逆序打印图案
- Python 程序使用 while 循环打印模式
- 打印模式 A 的 Python 程序
- Python 程序打印模式 G
- Python 程序打印模式 a ab abc abcd abcde
- Python 程序打印公元前 CDE DEFG 模式
目录
- Python 程序打印数字模式
- Python 程序打印图案 1 12 123
- Python 程序使用嵌套 for 循环打印图案
- Python 程序打印星星图案
- Python 程序打印图案 1 22 333
- Python 程序以逆序打印数字模式
- Python 程序使用 while 循环打印图案
- Python 程序打印图案 A
- Python 程序打印模式 G
- Python 程序打印模式 a ab abc abcd abcde
- Python 程序打印图案公元前一年 CDE DEFG
Python 程序打印数字模式
让我们看看 python 程序打印数字的模式。
- 首先,我们将创建一个变量
num
。 - 第一个外部循环用于处理多个行,而内部循环用于处理个列。
- print(i,end=" ") 用于显示数字,另一个
print(" "
用于每行后的下一行。
举例:
num = 5
for n in range(1, num):
for i in range(1, n+1):
print(i, end=" ")
print("")
您可以参考下面的截图来查看输出中的数字模式。
Python program to print pattern of numbers
上面的代码,我们可以用 Python 中的来打印数字模式。
Python 程序打印图案 1 12 123
现在,我们将看到 python 程序打印模式 1 12 123 。
- 首先,我们将初始化一个变量
num=3
。 - 第一个外部循环用于处理多个行,而内部循环用于处理个列。
- print(j,end=" ") 用于显示数字,另一个
print(" "
用于每行后的下一行。
举例:
num = 3
for i in range(1, num+1):
for j in range(1, i+1):
print(j, end=" ")
print("")
你可以参考下面的截图,看看输出中 1 12 123 的模式。
Python program to print pattern 1 12 123
这是打印模式 1 12 123 的 python 程序。
Python 程序使用嵌套 for 循环打印图案
在这里,我们将看到 python 程序使用嵌套的 for 循环打印模式。
- 首先,我们将使用一个函数 def 模式(n) 。
- 第一个外部循环用于处理多个行,而内部循环用于处理个列。
- 打印(" * ",end=" ") 用于显示图案,另一个打印(" "用于每行后的下一行。
- 这里,
n=5
被初始化,然后调用函数。
举例:
def pattern(n):
for i in range(0,n):
for j in range(0,i+1):
print("*",end="")
print()
n = 5
pattern(n)
您可以参考下面的截图来查看输出中使用嵌套 for 循环的模式。
Python program to print pattern using nested for loop
这就是如何在 Python 中使用嵌套的 for 循环打印图案。
还有,看,如何在 Python 中交换两个数?
Python 程序打印星星图案
让我们看看 python 程序打印星星图案。
- 首先,我们将接受来自用户的输入。
- 第一个外部循环用于处理多个行,而内部循环用于处理个列。
- 打印(" * ",end=" ") 用于显示图案,另一个打印(" "用于每行后的下一行。
举例:
num = int(input("Enter the number of rows:"))
for i in range(0, num):
for j in range(0, i+1):
print("* ",end="")
print("")
你可以参考下面的截图来查看输出中的星星图案。
Python program to print pattern of stars
这就是如何用 Python打印星星图案。
你可能会喜欢,如何打印 Python 斐波那契数列?
Python 程序打印图案 1 22 333
现在,我们将看到 python 程序打印模式 1 22 333
- 首先,我们将接受来自用户的输入。
- 第一个外部循环用于处理多个行,而内部循环用于处理个列。
- print(i,end=" ") 用于显示图案,另一个
print(" "
用于每行后的下一行。
举例:
num = int(input("Enter the number of rows:"))
for i in range(1, num+1):
for j in range(1, i+1):
print(i,end="")
print("")
您可以参考下面的截图,了解输出中 1 22 333 的模式。
Python program to print pattern 1 22 333
上面的代码我们可以用 Python 中的打印模式 1 22 333。
阅读,Python 中两个数如何相减?
Python 程序以逆序打印数字模式
在这里,我们将看到 python 程序以逆序打印数字模式。
- 首先,我们将接受来自用户的输入。
- 第一个外部循环用于处理多个行,而内部循环用于处理个列。
- print(row,end="") 用于显示图案,另一个
print()
用于新行。
举例:
num = int(input("Enter the number of rows:"))
for row in range (num,0,-1):
for col in range (1,row+1):
print(row,end="")
print()
您可以参考下面的屏幕截图,了解输出中的逆序数字模式。
Python program to print pattern of numbers in reverse order
这是在 Python 中以逆序打印数字模式的代码。
阅读,Python 中两个数如何除法?
Python 程序使用 while 循环打印图案
这里,我们将看到 python 程序使用 while 循环打印模式。
- 首先,我们将接受来自用户的输入。
- 这里,我们将使用两个 while 循环。
- 内部 while 循环在完成执行后打印一行,而外部 while 循环打印这些行。
举例:
num = int(input('Enter number of rows : '))
i = 1
while i <= num :
j = 1
while j <= i:
print(j, end = " ")
j += 1
print()
i += 1
您可以参考下面的截图,了解在输出中使用 while 循环的模式。
Python program to print pattern using while loop
这是使用 while 循环打印模式的 Python 程序。
Python 程序打印图案 A
让我们看看 python 程序打印模式 A
- 首先,我们将为循环和范围(0,7) 。这里,我们将范围设为 7,因为我们有 7 行。
- 现在,我们将为循环取另一个,它用于列,范围是 5,因为我们有 5 列。
if-else
条件语句用于检查 column == 0 或 column == 4 是否任一条件为真以及行!那时我们想要一个明星。- 我们将检查另一个条件,即行== 0 或行== 3 ,此时列>为 0,列<为 4 。
- 然后打印(" * ",end = ")
- 如果条件不满足,那么它将转到否则部分,它将打印空间。
print()
用于新行。
举例:
for row in range(0,7):
for column in range(0,5):
if ((column == 0 or column == 4) and row != 0) or ((row == 0 or row == 3) and (column > 0 and column < 4)):
print("*",end="")
else:
print(end=" ")
print()
您可以参考下面的 python 程序截图,在输出中打印模式 a。
Python program to print pattern a
Python 程序打印模式 G
现在,我们将看到 python 程序打印模式 G
- 首先,我们将为循环和范围(0,7) 。这里,我们将范围设为 7,因为我们有 7 行。
- 现在,我们将为循环取另一个,它用于列,范围是 6,因为我们有 6 列。
if-else
条件语句用于检查 column == 0 或(column == 4 且(row!= 1 且行!= 2)) 如果是真则打印。- 我们将检查另一个条件,即 ((row0 或 row6)和(列> 0 和列< 4))
- 这里,我们将检查 (row3 和(column3 或 column==5)) 如果为真,则打印星号。
- 然后打印(" * ",end = ")
- 如果条件不满足,那么它将转到否则部分,它将打印空间。
print()
用于新行。
举例:
for row in range(0,7):
for column in range(0,6):
if column == 0 or (column == 4 and (row != 1 and row!= 2)) or ((row==0 or row==6) and (column>0 and column<4)) or (row==3 and (column==3 or column==5)):
print("*",end="")
else:
print(end=" ")
print()
你可以参考下面的 python 程序截图,在输出中打印模式 g。
Python program to print pattern g
这是打印模式 g 的 Python 程序。
来看看,Python 中两个数如何相加?
Python 程序打印模式 a ab abc abcd abcde
在这里,我们将看到 python 程序打印模式 a ab abc abcd abcde 。
- 首先,我们将接受来自用户的输入
- 循环的被使用,我们已经初始化了
v=97
,它是一个 ASCII 字符,给一个作为输出。 - 另一个用于循环用于打印图案。
- 要打印图案,我们必须使用 print(chr(v),end = " "。这里
chr
用来打印小 a 因为我们要字母表。 - 和
v += 1
,这将增加 v。
举例:
n = int(input("Enter number of rows: "))
for i in range(1,n+1):
v = 97
for j in range(1, i+1):
print(chr(v), end="")
v += 1
print()
你可以参考下面 python 程序的截图,在输出中打印模式 a ab abc abcd abcde。
Python program to print pattern a ab abc abcd abcde
上面的代码,我们可以用 Python 来打印模式 a ab abc abcd abcde。
Python 程序打印图案公元前一年 CDE DEFG
让我们来看一下 python 程序打印出的图案 A 公元前 CDE DEFG 。
- 首先,我们将接受来自用户的输入
- 现在,我们将作为循环的一行。
- 我们将使用变量
"k"
和ord("A")
函数,该函数将给出A
的 ASCII 值,并将其存储在变量 k 中 - 另一个用于循环用于列,我们将打印(chr(k),end = " ")。
chr()
函数用于将 ASCII 值转换为字符。 - 和
K += 1
,这将增加 K。
举例:
n = int(input("Enter number of rows: "))
for i in range(n):
k = ord("A")+i
for j in range(i+1):
print(chr(k), end="")
k += 1
print()
你可以参考下面的 python 程序在输出中打印模式 A BC CDE DEFG 的截图。
Python program to print pattern A BC CDE DEFG
上面的代码我们可以用 Python 来打印一个公元前 CDE DEFG 的图案。
您可能会喜欢以下 Python 教程:
在本 Python 教程中,我们学习了打印图案的 Python 程序。此外,我们还讨论了以下主题:
- Python 程序打印数字模式
- 打印图案的 Python 程序 1 12 123
- 使用嵌套 for 循环打印模式的 Python 程序
- Python 程序打印星形图案
- 打印图案的 Python 程序 1 22 333
- Python 程序以逆序打印图案
- Python 程序使用 while 循环打印模式
- 打印模式 A 的 Python 程序
- Python 程序打印模式 G
- Python 程序打印模式 a ab abc abcd abcde
- Python 程序打印公元前 CDE DEFG 模式
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 中的优先级队列
在本 Python 教程中,我们将讨论 python 中的优先级队列。此外,我们将看到以下主题:
- python 中的优先级队列是什么?
- Python 优先级队列实现
- python 中的最大优先级队列
- 使用 python 库的优先级队列
- python 中使用 heapq 实现优先级队列
- Python heapq 示例
- Python 优先级队列与 heapq
目录
- python 中的优先级队列是什么?
- Python 优先级队列实现
- Python 中的最大优先级队列
- 使用 Python 库的优先级队列
- 使用 python 中的 heapq 实现优先级队列
- Python heapq 示例
- Python 优先级队列 vs heapq
python 中的优先级队列是什么?
python 中的优先级队列是什么?python 中的优先级队列是一种高级类型的队列数据结构。优先级队列根据元素的优先级对元素进行排序和出列,而不是将最旧的元素出列。优先级队列通常用于处理调度问题。它优先考虑更紧急的任务。
Python 优先级队列实现
为了在 Python 中实现优先级队列,我们必须声明一个空 Python 列表,使用列表类的 append()
方法将元素插入其中。然后列表按升序排序。 While 循环用于使用 pop()
方法检索元素。
举例:
student = []
student.append((5, 'Nick'))
student.append((1, 'Rohan'))
student.append((3, 'Jack'))
student.sort(reverse=True)
while student:
t = student.pop()
print(t)
写完上面的代码(python 优先级队列实现),你将打印出“t”然后输出将显示为(1,“Rohan”)(3,“Jack”)(5,“Nick)”。这里,元素根据它们的优先级队列对元素进行排序和出列。
关于 python 优先级队列的实现可以参考下面的截图。
Python Priority queue implementation
你可能会喜欢用 Python 海龟和绘制彩色填充形状,以及如何用海龟用 Python 创建一个贪吃蛇游戏。
Python 中的最大优先级队列
现在,让我们了解一下 Python 中的 max priority queue。
在 Python 最大优先级队列中,列表将按照优先级降序排列。While 循环用于使用 pop(0)
方法检索元素。
举例:
student = []
student.append((5, 'Nick'))
student.append((1, 'Rohan'))
student.append((3, 'Jack'))
student.sort(reverse=True)
while student:
t = student.pop(0)
print(t)
写完上面的代码(python 中的 max priority queue),你将打印出【t】,然后输出将显示为**(5,'尼克) **(3,'杰克') **
(1,'罗汉')**
。这里,列表按降序排序,并根据元素的优先级队列对其进行出列。
python 中的最大优先级队列可以参考下面的截图。
Max priority queue in python
使用 Python 库的优先级队列
让我们看看如何使用 Python 库实现优先级队列。
Python 提供了优先级队列的内置实现。使用 put()方法导入队列模块并插入元素。while 循环用于使用 get()
方法使元素出队。队列的时间复杂度。PriorityQueue 类为 O(log n)。
举例:
from queue import priorityQueue
q = PriorityQueue()
q.put((10,'Red balls'))
q.put((8,'Pink balls'))
q.put((5,'White balls'))
q.put((4,'Green balls'))
while not q.empty():
item = q.get()
print(item)
写完上面的代码(使用 python 库的优先级队列),你将打印出 " item "
,然后输出将显示为(4,"绿球") (5,"白球") **
(8,"粉红球")** (10,"红球")。这里,列表按升序排序,并根据元素的优先级队列对其进行出列。
使用 python 库可以参考下面的优先级队列截图。
Priority queue using a python library
使用 python 中的 heapq 实现优先级队列
我们还可以使用 python 中的 heapq 模块来实现一个优先级队列。我们将从库中导入 heapq** ,然后创建一个空列表。但是 heapq 只提供最小堆实现。**
举例:
import heapq
s_roll = []
heapq.heappush(s_roll,(4, "Tom"))
heapq.heappush(s_roll,(1, "Aruhi"))
heapq.heappush(s_roll,(3, "Dyson"))
heapq.heappush(s_roll,(2, "Bob"))
While s_roll:
deque_r = heapq.heappop(s_roll)
print(deque_r)
写完上面的代码(在 python 中使用 heapq 实现优先级队列),你将打印出 " deque_r "
然后输出将显示为(1,'阿鲁希') (2,'鲍勃') **
(3,'戴森')** (4,'汤姆')。这里,通过使用 heapq 模块的 heappush()
方法,我们将元素插入到列表中。然后使用 While 循环弹出元素。
可以参考下面截图python
中使用 heapq 实现优先级队列。
Priority queue implementation using heapq in python
Python heapq 示例
我们将使用 heapq 类在 python 中实现堆。在 heapq 中,默认情况下,最小堆就是由这个类实现的。
举例:
from heapq import heapify, heappush, heappop
heap = []
heapify(heap)
heappush(heap, 5)
heappush(heap, 40)
heappush(heap, 30)
heappush(heap, 50)
print("Minimum value of heap is : "+str(heap[0]))
print("The heap element : ")
for i in heap:
print(i, end = ' ')
print("\n")
element = heappop(heap)
print("The heap element : ")
for i in heap:
print(i, end= ' ')
在编写完上述代码(python heapq 示例)后,您将打印这些代码,然后输出将显示为“堆的最小值是:5”。这里,通过使用 heapq 模块的 heappush()
方法,我们将元素插入到堆中,它将打印最小元素的值。
可以参考下面截图 python heapq 例子
Python heapq example
Python 优先级队列 vs heapq
| 优先级队列 | heapq
|
| 排队。PriorityQueue 是线程安全的类 | heapq 模块没有线程安全 |
| 排队中。PriorityQueue,可以使用通常的队列方法 put()来添加项目。 | 在 heapq 中,可以使用 heappush()方法来添加新项。 |
| 排队中。PriorityQueue,可以使用通常的队列方法 get()来移除。 | 在 heapq 中,可以使用 heappop()方法来移除。 |
您可能会喜欢以下 Python 教程:
- Python 历元到日期时间+示例
- Python 将变量写入文件+示例
- Python 3 pickle typeerror 需要一个类似字节的对象,而不是“str”
- Python 二分搜索法和线性搜索
- Python 点积和叉积
- Python 退出命令(quit()、exit()、sys.exit())
- Python 输入和 raw_input 函数
- Python 中的排序算法(详细教程)
- 如何在 Python 中把字符串转换成日期时间
在本 Python 教程中,我们学习了 python 中的 优先级队列。此外,我们还讨论了以下主题:
- python 中的优先级队列是什么?
- Python 优先级队列实现
- python 中的最大优先级队列
- 使用 python 库的优先级队列
- python 中使用 heapq 实现优先级队列
- Python heapq 示例
- Python 优先级队列与 heapq
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
将图例放在绘图 matplotlib 之外
原文:https://pythonguides.com/put-legend-outside-plot-matplotlib/
在本 Python 教程中,我们将讨论在 Python 中把图例放在 plot matplotlib 之外。在这里,我们将使用 matplotlib 来涵盖与图外图例相关的不同示例。我们还将讨论以下主题:
- 将图例放在绘图 matplotlib 之外
- Matplotlib 在绘图外设置图例
- Matplotlib 将图例设置在图的中央偏左位置
- Matplotlib 将图例设置在图的下中心
- Matplotlib 在外面设置支线剧情图例
- Sns 将图例放在情节 matplotlib 之外
- Sns 将图例设置在图的左上方
- 图外的 Matplotlib 图例被切断
- Matplotlib 图例在地块右侧之外
- Matplotlib 图例在图下方
- 图外图例 matplotlib tight_layout
目录
- 将图例放在绘图 matplotlib 之外
- Matplotlib 在图外设置图例
- Matplotlib 将图例设置在图的中央偏左处
- Matplotlib 设置图例图外中上部
- Matplotlib 在外设置支线剧情图例
- Sns 将图例放在绘图 matplotlib 外
- Sns 设置图例左上角外图
- Matplotlib 图外图例切断
- 绘图右侧外的 Matplotlib 图例
- Matplotlib 图例在图下方
- 图外图例 matplotlib tight_layout
将图例放在绘图 matplotlib 之外
在本节中,我们将学习如何在 Python 的 matplotlib 中将图例放在绘图之外。现在在开始这个话题之前,我们首先要了解一下【传说】是什么意思。
图例是概述图形元素的区域。
以下步骤用于在 matplotlib 中绘制外部图例,概述如下:
- 定义库:导入所需的重要库(用于数据创建和操作:Numpy 和 Pandas,用于数据可视化:来自 matplotlib 的 pyplot)。
- 定义 X 轴和 Y 轴:定义用于 X 轴和 Y 轴的数据坐标值。
- 绘制图表或图形:通过使用条()、饼()、散点()、
plot()
等方法,我们可以绘制出一个曲线图。 - 在外面添加图例:通过使用
legend()
方法,我们可以给一个情节添加一个图例。使用legend()
函数的bbox_to_anchor
属性在绘图之外指定它。 - 生成绘图:使用
show()
方法在用户窗口上可视化绘图。
读取Python Matplotlib tick _ params
Matplotlib 在图外设置图例
在 Matplotlib 中,要在绘图之外设置图例,必须使用 legend()
方法,并向其传递 bbox_to_anchor
属性。
设置外部图例的语法如下:
matplotlib.pyplot.legend(bbox_to_anchor=(x,y))
我们使用 bbox_to_anchor=(x,y)属性。这里 x 和 y 指定了图例的坐标。
让我们来看一个在图外设置图例的例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = [0, 1, 2, 3, 4, 5]
y1 = [0, 2, 4, 6, 8, 10]
y2 = [0, 3, 6, 9, 12, 15]
**# Plot graph**
plt.plot(y1, label ="y = 2x")
plt.plot(y2, label ="y = 3x")
**# Add legend**
plt.legend(bbox_to_anchor =(0.65, 1.25))
**# Show plot**
plt.show()
- 在上面的例子中,首先我们导入库,如
numpy
和matplotlib
。 - 接下来,我们定义数据,并通过使用
plt.plot()
方法绘制图表和标签。 plt.legend()
方法用于向绘图添加图例,我们传递bbox_to_anchor
属性,并设置其x
和y
坐标值。
” Legend outside the plot “
另外,检查: Matplotlib 改变背景颜色
Matplotlib 将图例设置在图的中央偏左处
在这里,我们将学习如何将图例设置在图外的中左位置。
其语法如下:
matplotlib.pyplot.legend(bbox_to_anchor=(x,y) , loc='center left')
我们来看一个例子:
**# Import libraries**
import matplotlib.pyplot as plt
import pandas as pd
**# Define Data**
df = pd.DataFrame({
'Maths': [12, 15, 10, 3, 1, 5],
'Science': [15, 10, 5, 4, 3, 6],
'Computers':[20, 12, 5, 3, 5, 2]
})
labels = ['A','B','C','D','E','Fail']
**# Plot bar chart**
ax = df.plot(stacked=True, kind='bar')
**# Set Tick labels**
ax.set_xticklabels(labels,rotation='horizontal')
ax.legend(title='SUBJECT',title_fontsize=30,loc='center left', bbox_to_anchor=(1, 0.5))
**# Display chart**
plt.show()
- 在上面的例子中,我们导入了
matplotlib.pyplot
和pandas
库。 - 之后,我们使用 pandas
DataFrame()
方法定义标签和数据坐标,并使用plot()
方法绘制条形图。 - 通过使用
set_xticklabels()
方法,我们设置了x
标签,还将其旋转设置为水平。 - 然后我们使用
ax.legend()
方法设置图例的标题,并传递title_fontsize
参数,将其值设置为30
。 - 我们还传递了
loc
和 bbox_to_anchor=(x,y) 属性,并将其值分别设置为中左和 1,0.5 。
” Legend at center-left “
阅读: Matplotlib 散点图标记
Matplotlib 设置图例图外中上部
在这里,我们将学习如何将图例设置在图外的中下部位置。
其语法如下:
matplotlib.pyplot.legend(bbox_to_anchor=(x,y) , loc='lower center')
举例:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = [0, 1, 2, 3, 4, 5]
y = [0, 5, 10, 15, 20, 25]
**# Plot graph**
plt.plot(y1, label ="y = 5x")
**# Add legend**
plt.legend(bbox_to_anchor =(0.5,-0.27), loc='lower center')
**# Show plot**
plt.show()
- 在上面的图中,我们导入了
numpy
和matplotlib.pyplot
库。 - 之后,我们定义数据并使用
plt.plot()
方法绘制图表。 - 通过使用
plt.legend()
方法,我们设置图例并通过bbox_to_anchor
和loc
属性分别将其值设置为( 0.5,-0.27 )和lower center
。
” Legend at the lower center “
阅读: Matplotlib 虚线
Matplotlib 在外设置支线剧情图例
一个图形中的多个情节称为支线情节。这里我们要绘制支线剧情,定义剧情之外的传奇。
我们来看一个与此相关的例子:
**# Import Libraries**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
x = np.linspace(10, 5, 1000)
**# Plot subplots**
fig, ax = plt.subplots(2, 2)
for i in range(2):
ax[1][i].plot(x, np.tan(x+i),
label = "y=tan(x+{})".format(i))
ax[0][i].plot(x, np.tan(x+i),
label = "y=tan(x+{})".format(i))
**# Add legends**
fig.legend(bbox_to_anchor=(1.3, 0.6))
**# Show plot**
fig.tight_layout()
plt.show()
- 首先,我们导入
numpy
和matplotlib
库。接下来,我们使用 numpy 的linespace()
方法定义数据。 - 之后我们绘制支线剧情,使用
"for loop"
并定义一个****函数来绘制支线剧情。 - 通过使用
fig.legend()
方法,我们将一个图例添加到绘图中,并将bbox_to_anchor
属性传递给它。 - 我们分别使用
fig.tight_layout()
和plt.show()
方法自动调整和可视化图形。
**
” Legend outside the subplots “
Sns 将图例放在绘图 matplotlib 外
这里我们要用 Python 中 matplotlib 中的 Seaborn 来绘制地块外的图例。
如果您的系统中没有安装 Seaborn,安装它最简单的方法是命令行终端。
安装语法:
**# Command to install Seaborn**
pip install seaborn
我们来看一个剧情之外的 seaborn 传奇的例子:
**# Import Libraries**
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
**# Define Data**
df = pd.DataFrame({
'X': [12, 15, 10, 3, 1, 5],
'Y': [15, 10, 5, 4, 3, 6],
'Label':['Pass','Pass','Fail','Pass','Fail','Fail']
})
**# Scatter plot**
sns.scatterplot(data=df, x='X',y='Y', hue='Label')
**# Legend plot**
plt.legend(bbox_to_anchor=(1.02, 1), loc='upper left')
**# Show**
plt.show()
- 首先我们导入
matplotlib.pyplot
、熊猫和seaborn
库。 - 之后,我们使用
DataFrame()
方法定义数据。 - 然后使用
sns.scatterplot()
方法绘制 seaborn 图,使用plt.legend()
方法在图外添加图例。
” Seaborn plot “
读取: Matplotlib 日志日志图
Sns 设置图例左上角外图
在这里,我们将学习如何在 matplotlib 的 Seaborn 地块的左上角设置外部图例。
举例:
**# Import libraries**
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
**# Define Data**
df = pd.DataFrame({
'X': [12, 15, 10, 3, 1, 5],
'Y': [15, 10, 5, 4, 3, 6],
'Label':['Pass','Pass','Fail','Pass','Fail','Fail']
})
**# Scatter plot**
sns.lineplot(data=df, x='X',y='Y', hue='Label')
**# Legend plot**
plt.legend(bbox_to_anchor=(1.02, 0.15), loc='upper left', borderaxespad=0)
**# Show**
plt.show()
- 这里我们用
sns.lineplot()
的方法来绘制 seaborn 图。 - 使用
plt.legend()
方法添加一个图例,向其传递bbox_to_anchor
参数和loc
参数。 - 将自变量的值分别设置为 (1.02,0.15) 和左上。
” Upper-left legend outside the sns plot “
Matplotlib 图外图例切断
这里我们将学习如何使用 matplotlib 防止图例框被裁剪。为了防止图例被裁剪,我们将使用 bbox_extra_artists
和 bbox_inches
。
- 当计算紧 bbox 时将被考虑的艺术家列表由
bbox_extra_artists
指定。 - 如果
bbox_inches
设置为紧,将生成图形的紧 bbox。
我们来看一个例子:
**# Import Libraries**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.linspace(0, 10, 2)
y1 = np.cos(x)
y2 = np.exp(x)
**# Plot**
plt.plot(x, y1, label="cos(x)")
plt.plot(x, y2, label="exp(x)")
**# Legend**
legend_outside = plt.legend(bbox_to_anchor=(1.05, 1.0),
loc='upper left')
**# Savefig**
plt.savefig('outside_legend.png',
dpi=150,
format='png',
bbox_extra_artists=(legend_outside,),
bbox_inches='tight')
**# Display**
plt.show()
- 将
matplotlib.pyplot
导入为plt
进行数据可视化。 - 接下来,导入
numpy
作为np
进行数据创建。 - 然后用
linspace()
、cos()
和exp()
的方法定义数据坐标。 - 为了绘制图表,我们使用了
plot()
函数。 - 为了在绘图之外添加图例,我们使用了
legend()
方法,并将bbox_to_anchor
参数传递给它。 - 接下来,我们使用
savefig()
函数将绘图保存为png
。 - 为了防止图例被裁剪,我们将
bbox_extra_artists
和bbox_inches
作为参数传递给savefig()
函数。 - 为了在用户屏幕上显示图形,我们使用了
show()
函数。
Matplotlib legend outside plot being cut off
阅读: Matplotlib 二维表面图
绘图右侧外的 Matplotlib 图例
在这一节中,我们将学习将图例的位置设置在绘图的右侧。为了设置正确的位置,我们将 loc
参数传递给 legend()
方法。 loc
的值可以是一个数字或一个字符串。
设置右的数值为 5
,字符串值为右。
我们来看一个例子:
**# Import Libraries**
import matplotlib.pyplot as plt
import numpy as np
**# Define Data**
x = np.linspace(0, 30, 100)
y1 = np.sin(x)
y2 = np.cos(x)
**# Plot**
plt.plot(x, y1, label='Sin')
plt.plot(x, y2, label='Cos')
**# Legend**
legend_outside = plt.legend(bbox_to_anchor=(1.20,0.89),
loc='right')
**# Display**
plt.show()
- 首先,我们导入
matplotlib.pyplot
和numpy
库。 - 要定义数据坐标,使用
linspace()
、sin()
和cos()
函数。 - 为了绘制线图,我们使用了
plot()
函数。 - 要向绘图添加图例,请将标签参数传递给
plot()
函数。 - 要在外部设置图例,使用
legend()
函数,并向其传递loc
参数,并将右侧的设置为字符串值。
Matplotlib legend outside plot right
阅读: Matplotlib 时间序列图
Matplotlib 图例在图下方
在这一节中,我们将学习在绘图下方设置图例框。我们可以将图例设置为左下方、右下方和中下方。
语法:
matplotlib.pyplot.legend(bbox_to_anchor, loc = 'lower right'|
'lower left' | 'lower center')
你也可以用 loc 数字代替 loc 字符串,比如 3 代表左下,4 代表右下,8 代表中下。
我们来看例子:
例#1
在这里,我们将图例设置在右下角。
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
name = ['Ava', 'Noah', 'Charlotte', 'Robert', 'Patricia']
weight_kg = [45, 60, 50, 75, 53]
height_cm = [162, 175, 155, 170, 168]
**# Plot**
plt.plot(name, weight_kg, marker ='o', label='Weight')
plt.plot(name, height_cm, marker='o', label='Height')
**# Legend**
plt.legend(bbox_to_anchor=(0.98,-0.3), loc='lower right')
**# Display**
plt.show()
- 首先导入必要的库,如
numpy
和matplotlib.pyplot
。 - 接下来,定义数据坐标。
- 要绘制折线图,请使用
plot()
函数。 - 要向绘图添加图例,请使用
legend()
方法。 - 要在图外设置图例,请传递
bbox_to_anchor
参数,并将其位置设置到右下角,我们还需要loc
参数。
Matplotlib legend outside below plot
例 2
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
year = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
profit = [80, 60, 50, 95, 75, 63, 35, 90, 68, 78]
loss = [20, 40, 50, 5, 25, 37, 65, 10, 32, 22]
**# Plot**
plt.scatter(year, profit, label='Profit')
plt.scatter(year, loss, label='Loss')
**# Set axis**
plt.xlim(0, 12)
**# Legend**
plt.legend(bbox_to_anchor=(-0.01,-0.3), loc=3)
**# Display**
plt.show()
这里,我们通过使用 legend()
函数,将图例设置在绘图的左下方位置。
Matplotlib legend outside lower plot
图外图例 matplotlib tight_layout
在本节中,我们将学习使用 matplotlib 绘制带有外部图例的图形。
我们来看一个例子:
**# Import Library**
import numpy as np
import matplotlib.pyplot as plt
**# Define Data**
name = ['Ava', 'Noah', 'Charlotte', 'Robert', 'Patricia']
weight_kg = [45, 60, 50, 75, 53]
height_cm = [162, 175, 155, 170, 168]
**# Plot**
plt.plot(name, weight_kg, marker ='o', label='Weight')
plt.plot(name, height_cm, marker='o', label='Height')
**# Legend**
plt.legend(bbox_to_anchor=(0.60,-0.1), loc=1)
**# Auto adjust**
plt.tight_layout()
**# Save Plot**
plt.savefig('Legend Plot.png', format='png')
**# Display**
plt.show()
- 这里,我们使用
legend()
函数来添加图例。 - 为了在绘图之外添加图例,我们传递了
bbox_to_anchor
参数。 - 为了防止图例被切断,我们使用了
tight_layout()
函数。 - 为了保存绘图,我们使用
savefig()
函数。 - 为了在用户屏幕上显示图形,我们使用了
show()
函数。
Legend outside plot matplotlib tight_layout
另外,看看更多关于 Matplotlib 的文章。
- Matplotlib 最佳拟合线
- 水平线 matplotlib
- Matplotlib 3D scatter
- Matplotlib x 轴标签
- Matplotlib 支线剧情教程
- 画垂直线 matplotlib
- Matplotlib 绘图条形图
- Matplotlib 另存为 png
- Matplotlib 另存为 pdf
在本 Python 教程中,我们讨论了“将图例放在绘图 matplotlib 之外”,并且我们还介绍了一些与之相关的例子。这些是我们在本教程中讨论过的以下主题。
- 将图例放在绘图 matplotlib 之外
- Matplotlib 在绘图外设置图例
- Matplotlib 将图例设置在图的中央偏左位置
- Matplotlib 将图例设置在图的下中心
- Matplotlib 在外面设置支线剧情图例
- Sns 将图例放在情节 matplotlib 之外
- Sns 将图例设置在图的左上方
- 图外的 Matplotlib 图例被切断
- Matplotlib 图例在地块右侧之外
- Matplotlib 图例在图下方
- 图外图例 matplotlib tight_layout
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 3 pickle typeerror 需要类似字节的对象,而不是“str”
原文:https://pythonguides.com/python-3-pickle-typeerror-a-bytes-like-object-is-required-not-str/
在这个 Python 教程中,我们将讨论如何修复 Python 3 pickle typeerror 需要一个类似字节的对象而不是‘str’错误。
最近,我试图使用 python 中的 pickle 模块读取一个文件。我得到一个错误:类型错误:需要一个类似字节的对象,而不是‘str’。下面是我用来读取文件的代码。
import pickle
file = open('student.p', 'r')
student = pickle.load(file)
file.close()
print(student)
您可以看到错误截图,pickle typeerror 需要一个类似字节的对象,而不是出现“str”错误。
Python 3 pickle typeerror a bytes-like object is required not str
typeerror 需要类似字节的对象,而不是“str”python 3
解决方案很简单,这里我们必须使用‘Rb’而不是下面一行代码中的‘r’:
file = open('student.p', 'rb')
完整的代码如下所示:
import pickle
file = open('student.p', 'rb')
student = pickle.load(file)
file.close()
print(student)
现在,当您执行代码时,不会出现错误type error a bytes-like object required not ' str ' python 3。
您可能会喜欢以下 Python 教程:
- Python 读取 CSV 文件并写入 CSV 文件
- Python 从路径中获取文件名
- Python 读取 excel 文件并在 Python 中写入 Excel
- Python 输入和 raw_input 函数
- 在 Python 中使用 JSON 数据
- Python – stderr, stdin and stdout
- Python 二分搜索法和线性搜索
- Python 点积和叉积
- Python 退出命令(quit()、exit()、sys.exit())
此外,它将修复以下错误:
- typeerror 需要类似字节的对象,而不是“str”python 3
- python 3 pickle typeerror 需要类似字节的对象,而不是“str”
- typeerror 需要类似字节的对象,而不是“str”python 3 split
- python 3 替换类型错误需要类似字节的对象,而不是“str”
- python 3 csv 类型错误需要类似字节的对象,而不是“str”
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 3 string replace()方法+ Python 替换文件中的字符串
在本 Python 教程中,我们将通过几个例子来讨论如何使用 Python 3 string replace()方法。此外,我们将看到,如何在 Python 中替换文件中的字符串。我们将讨论下面的例子:
- Python 3 字符串替换()方法
- 替换字符串 python 中的字母
- Python 替换文件中的字符串
- 如何在 Python 中替换文件中的字符串
- Python 替换文件 regex 中的字符串
- Python 使用字典替换文件中的字符串
- Python 替换 CSV 文件中的字符串
- Python 替换 XML 文件中的字符串
- Python 在一个文件中替换多个字符串
- Python 替换文本文件中的字符串
- 替换文件中字符串的 Python 代码
目录
- Python 3 的 string replace()方法
- 替换字符串 python 中的一个字母
- Python 替换文件中的字符串
- 如何在 Python 中替换文件中的字符串
- Python 替换文件 regex 中的字符串
- Python 使用字典替换文件中的字符串
- Python 替换 CSV 文件中的字符串
- Python 替换 XML 文件中的一个字符串
- Python 替换一个文件中的多个字符串
- Python 替换文本文件中的字符串
- Python 代码替换文件中的字符串
Python 3 的 string replace()方法
让我们看看,如何使用 Python 3 string replace()方法。
Python replace()方法是 Python 中的内置函数。 replace
()方法返回一个字符串的副本,其中出现的旧字符串被替换为新字符串。
举例:
my_string = "Python"
s = my_string.replace("Python", "PythonGuides")
print(s)
在编写了上面的代码(python 3 string replace)之后,您将打印出 "s"
,然后输出将显示为 " PythonGuides "。这里, replace()
方法用另一个指定的字符串替换指定的字符串。
可以参考下面截图 python 3 string replace()方法。
Python 3 string replace() method
这是 Python string replace()方法的一个简单例子。
阅读: Python 从字符串中移除子串
替换字符串 python 中的一个字母
replace()
是 python 编程中的内置函数,用于替换字符串中的一个字母,替换后返回字符串的副本。
举例:
str = ['P', 'y', 't', 'h', 'o', 'n', 'g', 'u', 'i', 'd', 'e', 's']
str[6] = 'G'
print (str)
为了得到输出,当你打印(str) 时,它将返回一个替换了字符串中的字母后的字符串副本。于是, str[6] 索引在输出中被替换为‘G’。
你可以参考下面的截图替换字符串 python 中的一个字母。
Replace a letter in a string python
Python 替换文件中的字符串
替换字符串使我们能够通过创建一个新文件来替换内容和虾米,该文件显示被替换的联系人。
- 它用于从另一个字符或子串中删除指定的字符或子串。
- Replace[]方法,将一个模式替换为另一个模式,并返回一个新字符串作为结果。
语法:
下面是 replace[]的语法
replace[
old_str1,
new_str2,
instance
]
在 python 中,有两种类型的文件二进制文件和文本文件。所以要么这个文件是一个包含 0 和 1 的二进制文件,要么它可以有一些文本。
文本文件由一系列行组成,每行都包含字符。每一行都以称为 EOL[行尾字符]的特殊字符结束。
如何在 Python 中替换文件中的字符串
- 让我们看看,如何在 Python 中替换文件中的字符串。
- 我们举个例子,我们会在 test.txt 文件中用 python 替换一个字符串文件,并用替换后的文本覆盖 test.txt 文件。
语法:
下面是替换文件中字符串的语法。
str = open (" .txt"," ")
data = str.read()
例子
#read input file
str1 = open("/home/arvind/Documents/test.txt", "rt")
data = str1.read()
data = data.replace('python', 'pyton')
#close the input file
str1.close()
str1 = open("/home/arvind/Documents/test.txt", "wt")
#overwrite the input file
str1.write(data)
str1.close()
print(data)
下面是下面给出的代码的截图。
Python replace string in file
上面的 Python 代码我们可以用来替换 Python 中一个文件中的字符串。
Python 替换文件 regex 中的字符串
- 在本节中,我们将学习如何使用 Python 中的 regex 替换文件中的字符串。
- 正则表达式主要用于描述搜索模式,因此您可以使用正则表达式在大量数据中搜索特定字符串。
- 你可以验证字符串是否有正确的格式,你可以找到一个字符串并用另一个字符串替换它,你甚至可以将数据格式化成正确的格式以便导入,所以这些都是正则表达式的用法。
- 使用正则表达式模块我们使用了两个函数
- 重新编译()
- re.escape()
re.compile
()用于编译一个 regex 模式。re.escape()
用于对 regex 模式中的字符进行转义。
语法:
re.compile(re.escape(text)
pattern.sub(subs)
例子
让我们举一个例子来检查如何在文件 regex 中替换一个字符串。
import re
def replace(filePath, text, subs, flags=0):
#open file
with open(filepath, "r+") as file:
#read the contents
contents = file.read()
text_pattern = re.compile(re.escape(text), flags)
contents = text_pattern.sub(subs, contents)
file.seek(0)
file.truncate()
file.write(contents)
filepath="/home/arvind/Documents/test.txt"
text="pyton"
subs="tinkter"
#calling the replace method
replace(filepath, text, subs)
print(subs)
下面是以下代码的截图。
Python replace string in file regex
上面的 Python 代码,我们可以用 Python 中的 regex 来用替换文件中的一个字符串。
Python 使用字典替换文件中的字符串
- 在本节中,我们将学习如何使用 Python 中的字典替换文件中的字符串。
- 我们可以很容易地使用 regex 方法,它主要用于描述搜索模式,因此您可以使用正则表达式在大量数据中搜索特定的字符串。
语法:
text = re.sub(" .txt",k,l,text)
str4= replace_all(str4,dict)
例子
让我们举一个例子来检查 Python 使用字典替换文件中的字符串
import re
dict1 = {1:'a',2:'b',3:'c'}
f3 = open("/home/arvind/Documents/test.txt","r")
str4 = f3.read()
def replace_all(text, dic):
for k, l in dic.items():
text = re.sub(r"\b%s\b"%k, l, text)
return text
str4 = replace_all(str4,dict1)
print(str4)
下面是下面给出的代码的截图。
Python replace a string in file using Dictionary
这是如何使用 Python 中的字典替换文件中的字符串。
Python 替换 CSV 文件中的字符串
在本节中,我们将学习如何用 Python 替换 CSV 文件中的字符串。为了替换 CSV 文件中的字符串,我们可以很容易地使用 replace()方法。
语法:
str4=str4.replace("ID NUMBER","UNIQUE ID")
例子
让我们举一个例子来检查如何替换 csv 文件中的字符串。
str4 = open("/home/arvind/Documents/app.csv", "r")
str4 = ''.join([i for i in str4])
str4 = str4.replace("ID NUMBER", "UNIQUE ID")
y = open("output.csv","w")
y.writelines(str4)
y.close()
print(str4)
下面是以下代码的截图。
Python replace string in csv file
Python 替换 XML 文件中的一个字符串
-
XML
代表可扩展标记语言。它在外观上类似于 HTML,但 XML 用于数据准备,而 HTML 用于定义正在使用的数据。 -
XML 专门用于在客户机和服务器之间发送和接收数据。
-
XML 也是一种元语言,这意味着,XML 可以用来描述另一种标记语言,如 XHTML,SVG,RDF。
-
XML 是作为数据存储和数据交换的标准而开发的。
-
XML 的主要优势是
- XML 是独立于设备和平台的。
- XML 不是用二进制语言编写的。
- XML 是人类和机器可读的。
-
在本节中,我们将学习如何替换 XML 文件中的字符串。
-
为了替换 XML 文件中的字符串,我们可以很容易地使用 pop()方法。
例子
让我们举一个例子来检查如何替换 XML 文件中的字符串
import xml.etree.ElementTree as ET
tree = ET.parse("/home/arvind/Documents/test.xml")
root = tree.getroot()
root[0][0].attrib.pop('name', None)
tree.write('output.xml')
print(root)
阅读: Python 熊猫 CSV 教程
Python 替换一个文件中的多个字符串
- 在这一节中,我们将学习如何在 Python 中替换一个文件中的多个字符串。
- 为了替换文件中的多个字符串,我们可以很容易地使用 replace()方法。
例子
让我们举一个例子来检查如何替换一个文件中的多个字符串
str1 = open("/home/arvind/Documents/test.text", "rt")
data = str1.read()
data = data.replace('java is ', ' C++ is a')
#close the input file
str1.close()
str1 = open("/home/arvind/Documents/test.txt", "wt")
#overwrite the input file
str1.write(data)
str1.close()
print(data)
以下是给定代码的截图
Python replace multiple strings in a file
Python 替换文本文件中的字符串
替换字符串使我们能够通过使用替换联系人创建新的显示来替换内容和虾米。
- 它用于从另一个字符或子串中删除指定的字符或子串。
- Replace[]方法,将一个模式替换为另一个模式,并返回一个新字符串作为结果。
- 在本节中,我们将学习如何替换文件中的字符串。
- 我们举个例子,我们会在 test.txt 文件中用 python 替换一个字符串文件,并用替换后的文本覆盖 test.txt 文件。
语法:
下面是 replace[]的语法
replace[
old_str1,
new_str2,
instance
]
例子
让我们举一个例子来检查如何替换文本文件中的字符串
#read input file
str1 = open("/home/arvind/Documents/test.txt", "rt")
data = str1.read()
data = data.replace('mongodb', 'SQL')
#close the input file
str1.close()
str1 = open("/home/arvind/Documents/test.txt", "wt")
#overwrite the input file
str1.write(data)
str1.close()
print(data)
Python replace a string in a text file
读取: Python 读取 CSV 文件,写入 CSV 文件
Python 代码替换文件中的字符串
- 在这一节中,我们将学习如何用 Python 代码来替换文件中的字符串。
- 我们举个例子,我们会在 test.txt 文件中用 python 替换一个字符串文件,并用替换后的文本覆盖 test.txt 文件。
例子
让我们举一个例子来检查如何用 Python 代码替换文件中的字符串
#read input file
str1 = open("test.txt", "rt")
data = str1.read()
data = data.replace('Python', 'JAVA')
#close the input file
str1.close()
str1 = open("test.txt", "wt")
#overwrite the input file
str1.write(data)
str1.close()
print(data)
以下是给定代码的截图
Python code to replace a string in a file
这就是如何在 Python 中替换文件中的字符串。
您可能会喜欢以下 Python 教程:
在这个 Python 教程中,我们通过几个例子学习了如何使用 Python 3 string replace()方法。
- Python 3 字符串替换()方法
- 替换字符串 python 中的字母
- Python 替换文件中的字符串
- 如何在 Python 中替换文件中的字符串
- Python 替换文件 regex 中的字符串
- Python 使用字典替换文件中的字符串
- Python 替换 CSV 文件中的字符串
- Python 替换 XML 文件中的字符串
- Python 在一个文件中替换多个字符串
- Python 替换文本文件中的字符串
- 替换文件中字符串的 Python 代码
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。