【问题标题】:Python - append data in existing table using pandasPython - 使用熊猫在现有表中追加数据
【发布时间】:2017-10-11 17:42:59
【问题描述】:
          00          01          02          03          04
    1  (value00)   (value01)   (value02)   (value03)   (value04)
    .      .
    .      .
    .      .
  1003 (value00)   (value01)   (value02)   (value03)   (value04)

如上例所示,我有一个包含 5 列的文本文件。我需要使用名为 Pandas 的 Python 库将数据附加到该文本文件中。这个文件最后需要的大约行数是 1003。对不起,如果你不能理解我的解释,我是 Pandas 的新手。

例如:

          00          01          02          03          04
1        4053        4665        1003        5823        5646
2        5656        5525        4561        4654        4568
3        4656        4652        4785        4987        2354
4        3262        2335        2154        5654        4658
5        5674        6584        4562        4568        5486
[...]   [...]       [...]       [...]       [...]       [...]
1003     3543        1351        3215        4532        1315

我该怎么做?

【问题讨论】:

  • @IanS 我有一个包含 5 列的文本文件,如上例所示。我需要使用名为 Pandas 的 Python 库将数据附加到该文本文件中。这个文件最后需要的大约行数是 1003。对不起,如果你不能理解我的解释,我是 Pandas 的新手。

标签: python pandas dataframe


【解决方案1】:

我会使用 df.loc[row] 来完成,它可以在循环内轻松使用。

import pandas as pd

df = pd.DataFrame(columns=[str(i).zfill(2) for i in range(5)])
df.loc[0] = range(5) # add row 
df.loc[1] = range(5) # add row

for i in range(len(df),len(df)+2):
    df.loc[i] = range(5) # add rows to end by starting at len(df)

df

返回

    00  01  02  03  04
0   0.0 1.0 2.0 3.0 4.0
1   0.0 1.0 2.0 3.0 4.0
2   0.0 1.0 2.0 3.0 4.0
3   0.0 1.0 2.0 3.0 4.0

【讨论】:

    【解决方案2】:

    将数据添加到数据框中的列。这会奏效。我认为您正在寻找更多程序化的东西。请注意,我们所有的数据都需要具有相同的大小,因此像这样附加很乏味,但它会起作用。

    import pandas as pd
    df = pd.DataFrame({'00': ['value1', 'value2', 'value3'],
                  '01': ['value4', 'value5', 'value6'],
                  '02': ['value7', 'value8', 'value9'],
                  '03': ['value10', 'value11', 'value12'],
                  '04': ['value13', 'value14', 'value15']})
    
    In[2]: df
    
    Out[2]:
        00      01      02      03      04
    0   value1  value4  value7  value10 value13
    1   value2  value5  value8  value11 value14
    2   value3  value6  value9  value12 value15
    

    如果它们的形状不同,您可能会看到此错误ValueError: arrays must all be same length

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-21
      • 2015-01-02
      • 1970-01-01
      • 2017-02-21
      • 2020-04-21
      • 1970-01-01
      • 2018-11-05
      相关资源
      最近更新 更多