如何在Pandas数据集中添加值全部相同的列?
解决pandas添加列仅单个索引有值的问题
嘿,我来帮你搞定这个问题~
你现在遇到的情况是:给新列赋值时用了长度为1的列表,pandas会按照索引对齐的规则来处理——列表里的唯一元素只会匹配索引为0的行,其他行因为没有对应的值,就会显示成NaN。
几个快速解决的方法:
方法1:直接赋值单个字符串(最推荐)
不用列表,直接把单个字符串赋值给整列,pandas会自动把这个值填充到所有行:
import pandas as pd df = pd.read_json('file_1.json', lines=True) df2 = pd.read_json('file_2.json', lines=True) df3 = pd.concat([df,df2]) df3 = df3.loc[:, ['renderedContent']] # 注意这里我改了,你之前写错成df.loc,会丢失df2的数据! df3['Siyasi Yönelim'] = 'Milet İttifakı'
方法2:用fillna填充空值
如果已经执行了原代码,想把空值都补上,可以用fillna方法:
df3['Siyasi Yönelim'] = df3['Siyasi Yönelim'].fillna('Milet İttifakı')
方法3:用loc指定所有行赋值
通过loc[:, 列名]明确指定给整列赋值:
df3.loc[:, 'Siyasi Yönelim'] = 'Milet İttifakı'
另外提个小细节:你原代码里的df3 = df.loc[:, ['renderedContent']]这行写错啦!你本来合并了df和df2得到df3,但这里又把df3重新赋值成了df的子集,这样df2的数据就全部丢失了,一定要改成df3.loc[:, ['renderedContent']]哦~
内容的提问来源于stack exchange,提问作者İlhanEmre
相关产品推荐
相关产品推荐

