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
...
CodePudding user response:
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")
CodePudding user response:
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)