Md Saikat
Md Saikat

Reputation: 1

How to fix Value error "Length of Values (1) doesn match length of index (15)"

Workflow =>

Sample:

Unit Price
----------
330
350
380

I want to convert this data 

Fabric
------
Card
Combed
Viscos

My code:

##Fabric Data 
getFabric = df_new['Unit Price']
result = []
for fabric in getFabric:
    if fabric == 310:
        result.append("Card")        
    elif fabric == 330:
        result.append("Combed Dawah")
    elif fabric == 350:
        result.append("Combed Regular")
    elif fabric == 490:
        result.append("Viscos")
    elif fabric == 550:
        result.append("Pleated")
    else:
        result.append(fabric)
    df_new['Fabric'] = result

Error :

Upvotes: 0

Views: 347

Answers (2)

Aadarsh Lalchandani
Aadarsh Lalchandani

Reputation: 11

That's easy dude...

your_df["Fabric"] = your_df["Unit Price"].apply(lambda x: str(x).replace("330", "Card"))

# do this for every conversion

your_df.to_csv("filename.csv")

The above code can be saved as a CSV file that could be viewed in MS EXCEL

Upvotes: 1

MUKILAN S
MUKILAN S

Reputation: 649

Insted of iterating column value. Try this,

pandas built-in function called .replace() is useful for replacing the value in the column without iteration throung it

df_new['Unit Price'].replace({310: 'Card', 330: 'Combed Dawah', 350: 'Combed Regular', 490: 'Viscos', 550: 'Pleated'}, inplace=True)

Above code will successfully relace the dataframe column values inplace.

Upvotes: 0

Related Questions