Pandas DataFrame:ValueError:值的长度(13)与索引的长度(12)不匹配

Posted

技术标签:

【中文标题】Pandas DataFrame:ValueError:值的长度(13)与索引的长度(12)不匹配【英文标题】:Pandas DataFrame : ValueError: Length of values (13) does not match length of index (12) 【发布时间】:2021-11-15 15:14:52 【问题描述】:

我试图从PycharmJupyter Notebook 运行以下代码。在 Jupyter 中,Pycharm 没有发生错误。有人可以帮忙解决这个问题吗?

下面是 news_collection.csv 的数据集可视化

created_at,文本 2021 年 5 月 13 日下午 3:27:55,“斯里兰卡队已为 2021 年世界杯做好充分准备” 2021 年 5 月 13 日下午 3:27:55,“他们肯定会想念 Lasith Malinga”

下面是给出上述错误的代码

import pandas as pd

def aggregated():
    tweets = pd.read_csv(r'news_collection.csv')
    df = pd.DataFrame(tweets, columns=['created_at', 'text'])
    df['created_at'] = pd.to_datetime(df['created_at'])
    df['text'] = df['text'].apply(lambda x: str(x))
    pd.set_option('display.max_colwidth', 0)
    df = df.groupby(pd.Grouper(key='created_at', freq='1D')).agg(lambda x: ' 
    '.join(set(x)))
    return df


   
if __name__ == '__main__':
    print(aggregated())
    aggregated().to_csv(r'preprocessed_tweets_aggregated.csv',index = True, 
    header=True)

【问题讨论】:

两者都有相同的pd.__version__? @LemonPy 是的,版本是一样的。是什么让它抛出这个特定的错误? 可能是您没有在同一个news_collection.csv 文件上运行? 不,是同一个文件 你在哪一行得到错误? 【参考方案1】:

引发错误的问题是由于 Pycharm 中的 pandas 包中的版本问题。我在 Jupyter 上使用 pandas 1.1.5 版本运行相同的代码,而在 Pycharm 中使用 pandas 1.3.0 运行,但无法正常工作。 因此,要在 Pycharm 中更改软件包版本,您可以按照以下步骤操作(在我的情况下,我必须将 pandas 版本降级到 1.1.5)

步骤 01 - 在 Pycharm 中转到您的项目并选择如下选项

步骤 02 - 然后你将直接到“Python解释器”选项卡 -> 选择你想要更改的包(在我的例子中是 Pandas) -> 双击版本 -> 选择指定版本复选框 -> 给出要升级或降级的版本 -> 选择安装包

【讨论】:

以上是关于Pandas DataFrame:ValueError:值的长度(13)与索引的长度(12)不匹配的主要内容,如果未能解决你的问题,请参考以下文章

pandas.DataFrame.loc好慢,怎么遍历访问DataFrame比较快

将 Pandas Multiindexed DataFrame 与 Singleindexed Pandas DataFrame 合并

pandas.DataFrame.loc好慢,怎么遍历访问DataFrame比较快

python pandas dataframe 写入hdfs

pandas怎么选取dataframe中几列

详解pandas获取Dataframe元素值的几种方法