dis*_*man 6 python dataframe pandas
美好的一天,
在shell中使用pandas DataFrame时是否可以获得多行单元输出?我知道整行的高度超过1个字符,但这就是我真正想要的.
例:
data = [
{'id': 1, 't': 'very long text\ntext line 2\ntext line 3'},
{'id': 2, 't': 'short text'}
]
df = pd.DataFrame(data)
df.set_index('id', inplace=True)
print(df)
Run Code Online (Sandbox Code Playgroud)
并希望获得输出:
id t
1 very long text
text line 2
text line 3
2 short text
代替
id t 1 very long text\ntextline 2\ntext line3 2 short text
看看@unsorted 这里的答案在 Pandas DataFrame 的字符串中漂亮地打印换行符
这是你的例子:
import pandas as pd
from IPython.display import display, HTML
def pretty_print(df):
return display(HTML(df.to_html().replace("\\n","<br>")))
data = [
{'id': 1, 't': 'very long text\ntext line 2\ntext line 3'},
{'id': 2, 't': 'short text'}
]
df = pd.DataFrame(data)
df.set_index('id', inplace=True)
pretty_print(df)
t
id
1 very long text
text line 2
text line 3
2 short text
Run Code Online (Sandbox Code Playgroud)
Series您可以使用after取消字符串的嵌套str.split
df.set_index('id').t.str.split(r'\n').apply(pd.Series).stack().reset_index(level=1,drop=True).to_frame('t')
Out[177]:
t
id
1 very long text
1 text line 2
1 text line 3
2 short text
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3445 次 |
| 最近记录: |