通过一次追加一行来创建 Pandas 数据框

Create a Pandas Dataframe by appending one row at a time(通过一次追加一行来创建 Pandas 数据框)
本文介绍了通过一次追加一行来创建 Pandas 数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我了解 Pandas 旨在加载完全填充的 DataFrame,但我需要创建一个空的 DataFrame,然后逐一添加行.最好的方法是什么?

I understand that Pandas is designed to load a fully populated DataFrame, but I need to create an empty DataFrame then add rows, one by one. What is the best way to do this?

我成功创建了一个空的DataFrame:

I successfully created an empty DataFrame with:

res = DataFrame(columns=('lib', 'qty1', 'qty2'))

然后我可以添加一个新行并用以下内容填充一个字段:

Then I can add a new row and fill a field with:

res = res.set_value(len(res), 'qty1', 10.0)

它可以工作,但看起来很奇怪:-/(添加字符串值失败.)

It works, but it seems very odd :-/ (It fails for adding a string value.)

如何向我的 DataFrame 添加新行(具有不同的列类型)?

How can I add a new row to my DataFrame (with a different columns type)?

推荐答案

你可以使用df.loc[i],其中索引为i的行会是什么您指定它在数据框中.

You can use df.loc[i], where the row with index i will be what you specify it to be in the dataframe.

>>> import pandas as pd
>>> from numpy.random import randint

>>> df = pd.DataFrame(columns=['lib', 'qty1', 'qty2'])
>>> for i in range(5):
>>>     df.loc[i] = ['name' + str(i)] + list(randint(10, size=2))

>>> df
     lib qty1 qty2
0  name0    3    3
1  name1    2    4
2  name2    2    8
3  name3    2    1
4  name4    9    6

这篇关于通过一次追加一行来创建 Pandas 数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)