在Python如何转换一个for循环到应用方法

问题描述 投票:0回答:2

我想是因为iterrows / itertuples都太慢,要改变这种for循环到应用方法。我有一个相当大的数据集。这可能吗?

for index, row in df2.iterrows():
    startDateString = str(row['Date'].replace("/",""))
    endDateString = str(row['Date'].replace("/",""))
    zipcode = str(row['Zip'])
    #startDateString = str(startDate)
    #endDateString = str(endDate)
    print("zip: " + "%s" %zipcode + ", daterange: " + startDateString + " - " + endDateString )
python pandas for-loop apply
2个回答
0
投票

为什么的startDate和结束日期的同一列?

作为格式说明的确然后STR电话是无用的。删除它们会导致:

for index, row in df2.iterrows():
    startDate = row['Date'].replace("/","")
    endDate = row['Date'].replace("/","")
    zipcode = row['Zip']
    print("zip: %s, daterange: %s - %s" % (zipcode, startDate, endDate))

0
投票

适用于()是在大熊猫库中最慢的方法之一。你可以做STR属性调用同样的事情。你并不需要创建所有的变量。

    df2['new_column'] = f"""zip: {df2.Zip}, daterange: {df2['Date'].str.replace("/","")} - {df2['Date'].str.replace("/","")}"""
    for x in df2.new_column:
         print(x)

希望这个作品与您的数据。

© www.soinside.com 2019 - 2024. All rights reserved.