我制作了Iris 数据集的Pandas 数据框,我想在其中添加 4 个额外的列。列的内容必须是 SepalRatio、PetalRatio、SepalMultiplied、PetalMultiplied。我使用 DataFrame 的 assign() 函数来添加这四列,但 DataFrame 保持不变。
我添加列的代码是:
iris.assign(SepalRatio = iris['SepalLengthCm'] / `iris['SepalWidthCm']).assign(PetalRatio = iris['PetalLengthCm'] / iris['PetalWidthCm']).assign(SepalMultiplied = iris['SepalLengthCm'] * iris['SepalWidthCm']).assign(PetalMultiplied = iris['PetalLengthCm'] * iris['PetalWidthCm'])`
Run Code Online (Sandbox Code Playgroud)
在 Jupyter notebook 中执行时,会显示正确的表,但如果我使用打印语句,则不会添加四列。
Jupyter 笔记本中的输出:
Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species SepalRatio PetalRatio SepalMultiplied PetalMultiplied
0 1 5.1 3.5 1.4 0.2 Iris-setosa 1.457143 7.000000 17.85 0.28
1 2 4.9 3.0 1.4 0.2 Iris-setosa 1.633333 7.000000 14.70 0.28
2 3 4.7 3.2 1.3 0.2 Iris-setosa 1.468750 6.500000 15.04 …Run Code Online (Sandbox Code Playgroud) 我目前使用 Jupyter 笔记本来分析公司数据。我的第一步是清理和格式化数据。到目前为止我的代码是:
%matplotlib inline
# First, we'll import pandas, a data processing and CSV file I/O library
import pandas as pd
# We'll also import seaborn, a Python graphing library
import warnings # current version of seaborn generates a bunch of warnings that we'll ignore
warnings.filterwarnings("ignore")
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set(style="dark", color_codes=True)
Users = pd.read_csv("Users.csv", delimiter = ';', engine = 'python') # maak een pandas dataframe per bestand
Users['ContractHours'].fillna(0, inplace = …Run Code Online (Sandbox Code Playgroud) 我正在学习使用Python进行数据分析,并使用matplotlib和seaborn库,并在Kaggle中制作了一个Notebook。我试图制作一个散点图,以显示萼片叶子和花瓣叶子的宽度和长度之间的比率。
sns.FacetGrid(iris, hue="Species", size=10)
total_rows = iris.count
number_of_iris = len(iris)
sepalLengths = iris["SepalLengthCm"]
sepalWidths = iris["SepalWidthCm"]
petalLengths = iris["PetalLengthCm"]
petalWidths = iris["PetalWidthCm"]
plt.scatter(range(number_of_iris),(sepalLengths/sepalWidths))
plt.xlabel("ID")
plt.ylabel("Ratio")
plt.show()
Run Code Online (Sandbox Code Playgroud)
这段代码正确无误,但我试图以三种不同的颜色显示该图,以区分这3种不同的物种。我将代码更改为:
total_rows = iris.count
number_of_iris = len(iris)
sepalLengths = iris["SepalLengthCm"]
sepalWidths = iris["SepalWidthCm"]
petalLengths = iris["PetalLengthCm"]
petalWidths = iris["PetalWidthCm"]
sns.FacetGrid(iris, hue="Species", size=10) \
.map(range(number_of_iris),(sepalLengths/sepalWidths)) \
.add_legend()
Run Code Online (Sandbox Code Playgroud)
但收到错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-48-97e6cd0ab095> in <module>()
10 petalWidths = iris["PetalWidthCm"]
11
---> 12 sns.FacetGrid(iris, hue="Species", size=10) .map(range(number_of_iris),(sepalLengths/sepalWidths)) .add_legend()
Run Code Online (Sandbox Code Playgroud)
如何将每个物种绘制成不同的颜色?
数据的一小部分是:
47,5.1,3.8, 1.34, …Run Code Online (Sandbox Code Playgroud) 我正在分析Iris 数据集并在花瓣宽度和花瓣长度之间绘制散点图。为了制作情节,我使用了以下代码:
# First, we'll import pandas, a data processing and CSV file I/O library
import pandas as pd
# We'll also import seaborn, a Python graphing library
import warnings # current version of seaborn generates a bunch of warnings that we'll ignore
warnings.filterwarnings("ignore")
import seaborn as sns
import matplotlib.pyplot as plt
import numpy
sns.set(style="dark", color_codes=True)
# Next, we'll load the Iris flower dataset, which is in the "../input/" directory
iris = pd.read_csv("Iris.csv") # the iris dataset is …Run Code Online (Sandbox Code Playgroud)