list.append 对比 pd.series.append
list.append vs pd.series.append
我注意到虽然 list.append 更改了原始列表,但 pd.series.append 没有更改原始列表系列:
b = [1,2,3,4,5]
b.append(9)
b
# returns [1, 2, 3, 4, 5, 9]
s = pd.Series([1,2,3,4,5])
s.append(pd.Series([9]))
s
# returns
0 1
1 2
2 3
3 4
4 5
尽管使用 Python 有一段时间了,但我从未意识到这一点,并花了很长时间进行调试,因为我不断收到错误或意外值,而 运行 使用 [= 的系列的 for 循环28=]方法里面。 Python 顺便说一句,我的第一门编程语言。
同样的方法,为什么会有出入?或者 'append' 方法是一个例外?它让个人感到困惑,因为它在编写 python 代码和获得我想要的结果方面有很大的不同。这让我想知道列表和系列(或数据帧)之间的其他方法是否也存在类似的差异,我应该注意这一点。
每当遇到这些看似微不足道的事情时,我都会有点沮丧,因为我个人往往会在以后忘记它们并重蹈覆辙。
我是不是应该只记住这个然后就完事了?我想知道在尝试学习这些新事物时我应该采取什么方法,因为我不知道随着时间的推移我是否能够记住这些细微的差异。如果有任何好的提示或建议,我将不胜感激。
在 Pandas 中,append
方法不会 更改原始 DataFrame。
相比之下,append
列表方法更改目标列表。
一起来看看
b = [1,2,3,4,5]
b.append(9)
b
# returns [1, 2, 3, 4, 5, 9] # target list 'b' has been changed.
案例 pandas.
import pandas as pd
df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'), index=['x', 'y'])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'), index=['x', 'y'])
df.append(df2)
df
# result =
A B
x 1 2
y 3 4
所以我们必须清楚地分配我们要更改的DataFrame。
例如
df = df.append(df2) # this changes df.
df
# result = A B
x 1 2
y 3 4
x 5 6
y 7 8
希望对您有所帮助:)
我注意到虽然 list.append 更改了原始列表,但 pd.series.append 没有更改原始列表系列:
b = [1,2,3,4,5]
b.append(9)
b
# returns [1, 2, 3, 4, 5, 9]
s = pd.Series([1,2,3,4,5])
s.append(pd.Series([9]))
s
# returns
0 1
1 2
2 3
3 4
4 5
尽管使用 Python 有一段时间了,但我从未意识到这一点,并花了很长时间进行调试,因为我不断收到错误或意外值,而 运行 使用 [= 的系列的 for 循环28=]方法里面。 Python 顺便说一句,我的第一门编程语言。
同样的方法,为什么会有出入?或者 'append' 方法是一个例外?它让个人感到困惑,因为它在编写 python 代码和获得我想要的结果方面有很大的不同。这让我想知道列表和系列(或数据帧)之间的其他方法是否也存在类似的差异,我应该注意这一点。
每当遇到这些看似微不足道的事情时,我都会有点沮丧,因为我个人往往会在以后忘记它们并重蹈覆辙。
我是不是应该只记住这个然后就完事了?我想知道在尝试学习这些新事物时我应该采取什么方法,因为我不知道随着时间的推移我是否能够记住这些细微的差异。如果有任何好的提示或建议,我将不胜感激。
在 Pandas 中,append
方法不会 更改原始 DataFrame。
相比之下,append
列表方法更改目标列表。
一起来看看
b = [1,2,3,4,5]
b.append(9)
b
# returns [1, 2, 3, 4, 5, 9] # target list 'b' has been changed.
案例 pandas.
import pandas as pd
df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'), index=['x', 'y'])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'), index=['x', 'y'])
df.append(df2)
df
# result =
A B
x 1 2
y 3 4
所以我们必须清楚地分配我们要更改的DataFrame。 例如
df = df.append(df2) # this changes df.
df
# result = A B
x 1 2
y 3 4
x 5 6
y 7 8
希望对您有所帮助:)