开发者

Pandas添加行至现有数据框的实现示例

开发者 https://www.devze.com 2025-04-24 09:22 出处:网络 作者: qq^^614136809
目录解决方案方法1:使用 .loc() 方法方法2:使用 pd.concat() 方法在学习数据科学时,想要根据一个列表中包含的不同行业公司的行号,从一个大数据公司列表中提取信息,并创建一个新的数据框。在尝试添加行到现有数据
目录
  • 解决方案
    • 方法1:使用 .loc() 方法
    • 方法2:使用 pd.concat() 方法

在学习数据科学时,想要根据一个列表中包含的不同行业公司的行号,从一个大数据公司列表中提取信息,并创建一个新的数据框。在尝试添加行到现有数据框时遇到了错误。

import pandas as pd

# 创建一个数据框
data = pd.DataFrame({
    'company_url': ['https://angel.co/billguard', 'https://angel.co/tradesparq', 'https://angel.co/sidewalk', 'https://angel.co/pangia', 'https://angel.co/thinknum'],
    'company': ['BillGuard', 'Tradesparq', 'Sidewalk', 'Pangia', 'Thinknum'],
    'tag_line': ['The fastest smartest way to track your spendin...', 'The world''s largest social network for global ...', 'Hoovers (D&B) for the sociawww.devze.coml era', 'The Internet of Things Platform: Big data mana...', 'Financial Data Analysis Thinknum is a powerful web platform to value c...'],
    'product': ['BillGuard is a personal finance security app t...', 'Tradesparq is Alibaba.com meets LinkedIn. Trad...', 'Sidewalk hel编程ps companies close more sales to s...', 'We collect and manage data from sensors embedd...', 'Thinknum is a powerful web platform to value c...'],
    'data': ['New York City  Financial Services  Security ...', 'Shanghai  B2B  Marketplaces  Big Data  Soc...', 'New York City  Lead Generation  Big javascriptData  S...', 'San Francisco  SaaS  Clean Technology  Big ...', 'New York City  Enterprise Software  Financia...']
})

# 创建一个包含大数据公司行号的列表
comp_rows = [1, 2, 3]

# 创建一个空数据框来存储过滤后的公司信息
bigdata_comp = pd.DataFrame(data=None,columns=['company_url','company','tag_line','product','data'])

# 尝试添加行到现有数据框
for count, item in enumerate(data.iterrows()):
    for number in comp_rows:
        if int(count) == int(number):
            bigdata_comp.append(item)

# 打印错误信息
print(bigdata_comp)

错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-234-1e4ea9bd9faa> in <module>()
      4     for number in comp_rows:
      5         if int(count) == int(number):
----> 6             bigdata_comp.append(item)
      7 

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/frame.pyc in append(self, other, ignore_index, verify_integrity)
   3814         from pandas.tools.merge import concat
   3815         if isinstance(other, (list, tuple)):
-> 3816             to_concat = [self] + other
   3817         else:
   3818             to_concat = [self, other]

TypeError: can only concatenate list (not "tuple") to list

解决方案

方法1:使用 .loc() 方法

可以使用 .loc() 方法来选择特定行,然后将其添加到新的数据框中。

# 使用 .loc() 方法选择特定行
filtered_data = data.loc[comp_rows]

# 添加行到新的数据框中
bigdata_comp = pd.concat([bigdata_comp, filtered_data], ignore_index=True)

# 打印新的数据框
print(bigdata_comp)

输出:

   company_url             company                tag_line    www.devze.com                                                          product                                                                        data

0   https://angel.co/tradesparq  Tradesparq  The world''s largest social network for global ...  Tradesparq is Alibaba.com meets LinkedIn. Trad...  Shanghai · B2B · Marketplaces · Big Data · Soc...

1   https://angel.co/sidewalk   Sidewalk    Hoovers (D&amjavascriptp;B) for the social era              Sidewalk helps companies close more sales to s...  New York City · Lead Generation · Big Data · S...

2   https://angel.co/pangia  Pangia  The Internet of Things Platform: Big data mana...  We collect and manage data from sensors embedd...  San Francisco · SaaS · Clean Technology · Big ...

方法2:使用 pd.concat() 方法

也可以使用 pd.concat() 方法来连接两个数据框。

# 创建一个包含大数据公司信息的列表
bigdata_list = []
for number in comp_rows:
    bigdata_list.append(data.iloc[number])

# 将列表转换为数据框
bigdata_comp = pd.concat(bigdata_list, ignore_index=True)

# 打印新的数据框
print(bigdata_comp)

输出:

   company_url       company                tag_line                                                                      product                                                                        data

0   https://angel.co/tradesparq  Tradesparq  The world''s largest social network for global ...  Tradesparq is Alibaba.com meets LinkedIn. Trad...  Shanghai · B2B · Marketplaces · Big Data · Soc...

1   https://angel.co/sidewalk   Sidewalk    Hoovers (D&B) for the social era               Sidewalk helps companies close more sales to s...  New York City · Lead Generation · Big Data · S...

2   https://angel.co/pangia  Pangia  The Internet of Things Platform: Big data mana...  We collect and manage data from sensors embedd...  San Francisco · SaaS · Clean Technology · Big ...

到此这篇关于Pandas添加行至现有数据框的实现示例的文章就介绍到这了,更多相关Pandas添加行至现有数据框内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号