【问题标题】:Append values to Pandas series将值附加到 Pandas 系列
【发布时间】: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 个索引)值?

【问题讨论】:

  • 你能举一个我们可以运行的例子吗?
  • 它只是一个普通的数据框,索引为 0,1,2...,然后是每个索引的对应值。我想为这个系列添加额外的价值。
  • 您的数据框尺寸错误。
  • 我该如何解决?因为我实际上只是从 sql 表列中获取值并尝试在其上添加新值。

标签: python pandas indexing series


【解决方案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
    

    【讨论】:

    • 对于大类型整数,哪一个最快?
    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    • 2014-12-06
    • 2015-03-06
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    相关资源
    最近更新 更多