简体   繁体   English

将 pandas 行单元格打印为字符串

[英]Print pandas rows cells as string

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:我的 output:

0 car 0辆车

1 bus 1辆巴士

2 aircraft 2架飞机

3 rocket 3 火箭

4 subway 4地铁

5 train 5列火车

Name: a, dtype: object姓名:a,数据类型:object

... ...

Good output:好 output:

car
queens 
new york

bus
los angeles
california

...

Looping is slow, but possible if use row Series :循环很慢,但如果使用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:另一个想法是将列转换为 numpy 数组:

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

Or zip :zip

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

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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM