Print pandas rows cells as string

Question:

I’m trying to print a data frame where each cell appears as a string:

Dataset

    a               b            c        
0 car        new york        queens  
1 bus        california      los angeles 
2 aircraft   illinois        chicago 
3 rocket     texas           houston  
4 subway     maine           augusta 
5 train      florida         miami 

Mon script:

for index, row in df.iterrows():
    print(df["a"], "n", testes["c"], "n", testes["b"])

My output:

0 car

1 bus

2 aircraft

3 rocket

4 subway

5 train

Name: a, dtype: object

Good output:

car
queens 
new york

bus
los angeles
california

...
Asked By: ladybug

||

Answers:

Looping is slow, but possible if use row Series:

for index, row in df.iterrows():
    print(row["a"], row["c"], row["b"], sep="n")

Another idea is convert columns to numpy array:

for a, b, c in df[['a','b','c']].to_numpy():
    print(a, c, b, sep="n")

Or zip:

for a, b, c in zip(df['a'],df['b'],df['c']):
    print(a, c, b, sep="n")
Answered By: jezrael

One way to achieve that is using apply:

df.apply(lambda row: print(f"{row['a']}n{row['c']}n{row['b']}n"), axis = 1)
Answered By: kev_ta
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.