将值附加到 Pandas 系列

Posted

技术标签:

【中文标题】将值附加到 Pandas 系列【英文标题】:Append values to Pandas series 【发布时间】:2018-11-08 01:55:35 【问题描述】:

我正在通过 pandas 从 SQL 数据库中选择值,但是当我想向现有的 pandas 系列添加新值时,我收到“无法连接非 NDframe 对象”。所以我不确定我应该如何进行。

sql = "select * from table"
df = pd.read_sql(sql, conn)
datovalue = df['Datovalue']
datovalue.append(35)

这就是我打印出来的数据值的样子:

0   736722.0 

1   736722.0 

2  736723.0  

3  736723.0 

4   736725.0

如何添加额外的(在这种情况下为第 5 个索引)值?

【问题讨论】:

你能举一个我们可以运行的例子吗? Pandas: what is a NDFrame object (and what is a non-NDFrame object)的可能重复 它只是一个普通的数据框,索引为 0,1,2...,然后是每个索引的对应值。我想为这个系列添加额外的价值。 您的数据框尺寸错误。 我该如何解决?因为我实际上只是从 sql 表列中获取值并尝试在其上添加新值。 【参考方案1】:

就用这个

datovalue.append([35])

df = pd.DataFrame([[5],[3]])
df.append([1])
df
   0

0  5

1  3

0  1

【讨论】:

【参考方案2】:

有几种等效的方法可以通过索引将数据添加到系列中:

s = pd.Series([736722.0, 736722.0, 736723.0, 736723.0, 736725.0])

# direct indexing
s[5] = 35

# loc indexing
s.loc[5] = 35

# loc indexing with unknown index
s.loc[s.index.max()+1] = 35

# append with series
s = s.append(pd.Series([35], index=[5]))

# concat with series
s = pd.concat([s, pd.Series([35], index=[5])])

print(s)

0    736722.0
1    736722.0
2    736723.0
3    736723.0
4    736725.0
5        35.0
dtype: float64

【讨论】:

对于大类型整数,哪一个最快?

以上是关于将值附加到 Pandas 系列的主要内容,如果未能解决你的问题,请参考以下文章

将值附加到字典中的一个列表 将值附加到字典中的所有列表

将值附加到 PIG 变量

将值附加到 Python 字典

如何将值附加到犰狳矩阵?

将值附加到 URL 的表单

将值附加到现有行