【问题标题】:adding all list value to to dataframe将所有列表值添加到数据框
【发布时间】:2017-03-03 17:44:24
【问题描述】:

我有一个由几个字符串组成的列表,如下所示list=['abc','cde','fgh'] 我想将所有值添加到数据帧的特定索引中。我正在用代码尝试它

df1.ix[1,3]=[list]
df1.to_csv('test.csv', sep=',')

我想在位置 1,3 的数据框中插入所有值,因为它是 ['abc','cde','fgh']。我不想将其转换为字符串或任何其他格式。但这给了我错误。我在这里做错了什么

【问题讨论】:

  • 什么是错误? df1.info() 是什么?
  • 错误是----raise ValueError('Must have equal len keys and value ' ValueError: Must have equal len keys and value when setting with an ndarray
  • 你能添加df1的样本吗?请查看How to make good reproducible pandas examples

标签: list python-2.7 pandas


【解决方案1】:

我认为您的意思是使用 1:3 而不是 1,3

考虑pd.DataFramedf

df = pd.DataFrame(dict(A=list('xxxxxxx')))

使用locix
df.loc[1:3, 'A'] = ['abc', 'cde', 'fgh']
df.ix[1:3, 'A'] = ['abc', 'cde', 'fgh']
收益

【讨论】:

    【解决方案2】:

    我认为你可以使用:

    df1.ix[1,3] = L
    

    也不推荐使用变量list,因为python中的代码字。

    示例:

    df1 = pd.DataFrame({'a':[1,2,3], 'b':[1,2,3], 'c':[1,2,3], 'd':[1,2,3]})
    print (df1)
       a  b  c  d
    0  1  1  1  1
    1  2  2  2  2
    2  3  3  3  3
    
    L = ['abc','cde','fgh'] 
    df1.ix[1,3]= L
    
    print (df1)
       a  b  c                d
    0  1  1  1                1
    1  2  2  2  [abc, cde, fgh]
    2  3  3  3                3
    

    【讨论】:

    • 还是有这个错误---- raise ValueError('Must have equal len keys and value ' ValueError: Must have equal len keys and value when setting with an iterable
    • 我的样本返回错误?还是样本作品和问题出在真实数据上?
    • 你的熊猫版本是什么print pd.show_info()
    • 版本为 0.19.0
    猜你喜欢
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多