系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
Part 1:场景描述
3个df
按行方向拼接
按列方向拼接
Part 2:代码
import pandas as pd
# 显示所有列
pd.set_option('display.max_columns', None)
# 显示所有行
pd.set_option('display.max_rows', None)
# 设置value的显示长度为100
pd.set_option('max_colwidth', 100)
# 设置对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
# 设置打印宽度
pd.set_option('display.width', 180)
dict_1 = {"pos": ["A", "A", "A", "A"],
"value1": [10, 20, 30, 40],
"value2": [100, 200, 300, 400],
"value3": [30, 60, 20, 90]}
df_1 = pd.DataFrame(dict_1, columns=["pos", "value1", "value2", "value3"], index=[0, 1, 2, 3])
print("\n", "df_1", "\n", df_1, "\n")
dict_2 = {"pos": ["B", "B", "B", "B"],
"value1": [50, 60, 70, 80],
"value2": [500, 600, 700, 800],
"value3": [50, 60, 80, 80]}
df_2 = pd.DataFrame(dict_2, columns=["pos", "value1", "value2", "value3"], index=[3, 5, 6, 7])
print("\n", "df_2", "\n", df_2, "\n")
dict_3 = {"pos": ["C", "C", "C", "C"],
"value1": [20, 60, 80, 80],
"value2": [500, 600, 700, 800],
"value3": [50, 20, 80, 80]}
df_3 = pd.DataFrame(dict_3, columns=["pos", "value1", "value2", "value3"], index=[6, 7, 10, 11])
print("\n", "df_3", "\n", df_3, "\n")
# df = pd.concat([df_1, df_2, df_3])
# print("\n", "df = pd.concat([df_1, df_2, df_3])", "\n", df, "\n")
df = pd.concat([df_1, df_2, df_3], axis=1)
print("\n", "df = pd.concat([df_1, df_2, df_3], axis=1)", "\n", df, "\n")
代码截图
Part 3:部分代码解读
pd.set_option('display.width', 180)
set_option
进行设置的时候,打印出来时存在换行的问题df = pd.concat([df_1, df_2, df_3])
, 按行方向进行拼接df = pd.concat([df_1, df_2, df_3], axis=1)
,按列方向进行拼接跨行显示问题
将df_1的value3列索引改为value4
本文为原创作品,欢迎分享朋友圈