pandas中关于DataFrame行列显示省略导致的误判

代码如下:

提取某列的中文及中文符号,然后切词输出列表。但是当我把每一行数据循环运行时,发现和单独运行输出的结果不一致。

data = pd.read_csv('all.csv', error_bad_lines=False)

data1 = data[-2:-1]['news']
s = ''.join(re.findall(u'[\u4e00-\u9fff\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]',
                       str(data1)))
s = [word for word in jieba.cut(str(s), cut_all=False)]
print('# = ', str(data1)[20:])
print(type(data1))
print(s)
print('length = ', len(s))

print('\n')
for i in data1:
    print('# = ', str(i)[20:])
    print(type(i))
    i = ''.join(re.findall(u'[\u4e00-\u9fff\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]',
                           str(i)))
    i = [word for word in jieba.cut(str(i), cut_all=False)]
    print(i)
    print('length = ', len(i))

乍一看上去,输出的列表长度不相同,左思右想都找不出问题在哪里

于是笔者突然想到会不会是显示不全的问题于是在代码前面加入如下几行:

# 显示所有列
pd.set_option('display.max_columns', None)
# 显示所有行
pd.set_option('display.max_rows', None)
# 设置显示的长度为100
pd.set_option('max_colwidth', 100)

按理说,显示的问题不应该会影响到实际的输出长度,但是事实上影响了输出的实际结果,其中原因笔者不由而知,只好先写下来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值