pandas替代字符串创建循环

2024-10-02 12:23:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些代码可以通过PyWorkbooks很好地处理excel spredsheets,但是我想在pandas上做同样的工作。这是原始代码:

from PyWorkbooks.ExWorkbook import ExWorkbook
B = ExWorkbook()
B.change_workbook("Somelist.xlsx")
B.change_sheet("Tab1")

#column 6 = 1 if row customer likes cucumber, 0 otherwise
#column 7 = 1 if row customer likes carrot, 0 otherwise
#column 8 = 1 if row customer likes spinach, 0 otherwise
string1 = "Likes %s."
string2 = "Likes %s and %s."
string3 = "Likes %s, %s, and %s."

def findveg(row):
    veggies = []
    if B[row,6] == 1:
        veggies.append('cucumber')
    if B[row,7] == 1:
        veggies.append('carrot')
    if B[row,8] == 1:
        veggies.append('spinach')
    return tuple(veggies)

for i in range(1,100):
    if len(veggies) == 1:
        veggies= findveg(i)
        B[i,9] = string1 % veggies
    if len(veggies) == 2:
        veggies= findveg(i)
        B[i,9] = string2 % veggies
    if len(veggies) == 3:
        veggies= findveg(i)
        B[i,9] = string3 % veggies

Tags: 代码lenifcolumncustomerchangerowlikes
1条回答
网友
1楼 · 发布于 2024-10-02 12:23:22
string1 = "Likes %s."
string2 = "Likes %s and %s."
string3 = "Likes %s, %s, and %s."

def findveg(row):
    veggies = []
    if DF['cucumber_lover'][row] == 1:
        veggies.append('cucumber')
    if DF['carrot_lover'][row] == 1:
        veggies.append('carrot')
    if DF['spinach_lover'][row] == 1:
        veggies.append('spinach')
    return tuple(veggies)

flist['msg'] = ''
for row in DF.index:
        veggies = findfac(row)
        if len(veggies) == 1:
            findveg['msg'][row] = string1 % veggies
        if len(veggies) == 2:
            findveg['msg'][row] = string2 % veggies
        if len(veggies) == 3:
            findveg['msg'][row] = string3 % veggies

相关问题 更多 >

    热门问题