【问题标题】:pandas alternative to string creation looppandas 替代字符串创建循环
【发布时间】:2012-09-25 01:40:19
【问题描述】:

我有一些代码可以通过 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

【问题讨论】:

  • 你能解释一下你想要达到的目标吗?
  • @root,我自己解决了,希望我的目标在下面很清楚。我需要根据一个人喜欢的蔬菜为每一行制作语法正确的短语。 ;7)

标签: python string for-loop pandas


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 2020-05-20
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    相关资源
    最近更新 更多