当前位置: 首页 > 知识库问答 >
问题:

如何在for循环中追加pandas dataframe中的行?

阎涵忍
2023-03-14
for i in links:
     data = urllib2.urlopen(str(i)).read()
     data = json.loads(data)
     data = pd.DataFrame(data.items())
     data = data.transpose()
     data.columns = data.iloc[0]
     data = data.drop(data.index[[0]])

我试过熊猫串连或类似,但似乎没有效果。你知道吗?谢了。

共有1个答案

郭修平
2023-03-14

假设您的数据如下所示:

import pandas as pd
import numpy as np

np.random.seed(2015)
df = pd.DataFrame([])
for i in range(5):
    data = dict(zip(np.random.choice(10, replace=False, size=5),
                    np.random.randint(10, size=5)))
    data = pd.DataFrame(data.items())
    data = data.transpose()
    data.columns = data.iloc[0]
    data = data.drop(data.index[[0]])
    df = df.append(data)
print('{}\n'.format(df))
# 0   0   1   2   3   4   5   6   7   8   9
# 1   6 NaN NaN   8   5 NaN NaN   7   0 NaN
# 1 NaN   9   6 NaN   2 NaN   1 NaN NaN   2
# 1 NaN   2   2   1   2 NaN   1 NaN NaN NaN
# 1   6 NaN   6 NaN   4   4   0 NaN NaN NaN
# 1 NaN   9 NaN   9 NaN   7   1   9 NaN NaN

然后可以用

np.random.seed(2015)
data = []
for i in range(5):
    data.append(dict(zip(np.random.choice(10, replace=False, size=5),
                         np.random.randint(10, size=5))))
df = pd.DataFrame(data)
print(df)

换句话说,不要为每一行形成一个新的DataFrame。相反,在dict列表中收集所有数据,然后在循环的末尾调用df=pd.dataframe(data)一次。

 类似资料:
  • 我有一个两个项目的列表,每个项目是一个文本字符串。我想围绕这两个项目循环,如果一个单词不在一组单词中,则基本上删除它。但是,下面的代码将所有单词放在一起,而不是创建两个单独的项。我希望我的更新列表包含两个项目,每个原始项目对应一个im更新:

  • 问题内容: 我有以下for循环: 这样创建的每个数据框都具有与其他列相同的大多数列,但不是全部。而且,它们都只有一行。我需要的是将for循环产生的每个数据帧的所有不同列和每一行添加到数据帧中 我尝试了串联或类似的大熊猫,但似乎没有任何效果。任何想法?谢谢。 问题答案: 假设您的数据如下所示: 然后可以将其替换为 换句话说,不要为每一行形成一个新的DataFrame。相反,请收集字典列表中的所有数据

  • 我在mysql数据库中有一个数组数据,我想在使用Ajax得到结果后,用for循环逐个显示出来。过程是这样的。 这是将呈现每个项的段落 null 当我尝试使用for循环时,它会说语法错误,意外的for循环被取走,我该如何解决这个问题,例如,这里我使用sample for循环来使事情尽可能简单。

  • 我试图将多个数据帧附加到一个空数据帧中,但它不起作用。为此,我使用本教程我的代码如下所示: 我在循环中生成一个框架,我的代码是: 我如何才能做到这一点使用熊猫和什么是最好的可能的方式做到这一点。 注意:这里这一行 正在从API中获取一些数据

  • 我正在编写一个计算e^x值的方法。我在python中实现它的方式如下。 这将很好地返回e^x的值。但是,当我尝试在c#中实现相同的方法时,它没有输出与python中相同的值。以下是c#中的实现。 起初,这段代码的输出是一个无穷大符号。为了解决这个问题,我只是减少了循环运行的次数。在c#中,循环只运行10次,代码的输出非常接近于python中循环运行100次的输出。我的问题是,在不同的编程语言中,两

  • 我有一个表显示数据:ID、NAME、CATEGORY、Company。从数据库中检索数据。我想在列类别中添加一个组合框。以便能够选择数据库中的任何类别。 然后,我将数据正确地添加到JFrame中,然后显示所有内容。我阅读了文档,但我不知道如何在我的案例中使用这些示例。 要显示相同的类别,可以使用单独的jTable和数据下载