使用系列的列表和字典中的 pd 数据框

伊维安

我有几个列表和一个字典,想创建一个 pd 数据框。有人可以帮助我吗,我似乎错过了一些东西:

一个简单的例子如下:

dict={"a": 1, "b": 3, "c": "text1"}
l1 = [1, 2, 3, 4]
l3 = ["x", "y"]

使用系列我会这样做:

df = pd.DataFrame({'col1': pd.Series(l1), 'col2': pd.Series(l3)}) 

并且会按预期在 df 中包含列表

因为 dict 会做

df = pd.DataFrame(list(dic.items()), columns=['col3', 'col4'])

并期望这个结果:

col1 col2 col3 col4
1     x    a    1
2     y    b    3
3          c  text1
4

问题是这样的,第一个 df 将被 pd.Dataframe 的第二次调用覆盖

我将如何做到只有一个 df 和 4 列?

我知道一种方法是将 dict 拆分为 2 个单独的列表,然后仅在 4 个列表上使用 Series,但我认为有更好的方法可以做到这一点,从上面的 2 个列表和 1 个 dict 中可以直接使用一个 df 4 列。

谢谢你的帮助

卡梅伦·里德尔

为什么不通过dict.keys()dict.values()而不是使用单独构建每一列dict.items()

df = pd.DataFrame({
    'col1': pd.Series(l1), 
    'col2': pd.Series(l3), 
    'col3': pd.Series(dict.keys()), 
    'col4': pd.Series(dict.values())
})

print(df)   
   col1 col2 col3   col4
0     1    x    a      1
1     2    y    b      3
2     3  NaN    c  text1
3     4  NaN  NaN    NaN

或者:

column_values = [l1, l3, dict.keys(), dict.values()]
data = {f"col{i}": pd.Series(values) for i, values in enumerate(column_values)}
df = pd.DataFrame(data)

print(df)
   col0 col1 col2   col3
0     1    x    a      1
1     2    y    b      3
2     3  NaN    c  text1
3     4  NaN  NaN    NaN

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从字典列表创建数据框,不使用 pd.concat()

pd.melt()字典/一系列数据框

使用 pd.apply() 清理数据框

将列转换为 pd 中的行。数据框

自动在 PD 数据框中创建多列

使用pd.merge映射两个数据框

如何使用pd.read_html从数据框中剥离列并将输出作为列表返回

从列表到 pd 数据框和重塑问题以用作神经网络的目标

如何使用pd.read_clipboard读取带有列表的数据框?

如何根据列名将多行数据转换为 pd 数据框中的单行?

使用map_partitions和pd.df.to_sql从dask数据框创建sql表

使用列表和字典创建数据框

从包含字典列表的系列中创建熊猫数据框

如何根据具有一系列值的条件替换 pd 数据框列中的值?

将pd.value_counts()和定义的变量附加到数据框的一行

从pd数据框到Excel的层次结构索引,需要向前填充和取消合并

pd.Series(pred).value_counts()如何获取数据框中的第一列?

如何将 pd 数据框中的单个值移动到另一列?

Python Pandas-pd。在NaN中融化具有日期时间索引结果的数据框

Python Pandas-即使数据框中存在相同的列,pd.merge上的KeyError

python pd.DataFrame({'Dokuman':docs,'Sinif':classes})中的熊猫数据框问题

使用pd.read_clipboard读取漂亮打印/格式化的数据框?

当与多级索引数据框中使用pd.DataFrame.drop意外的行为

pd.style.apply 使用多个条件来设置数据框的样式

Python Pandas:在每个元素中使用pd.Series填充数据框

Python:使用pd.concat结合多个数据框表

使用pd.Dataframe.isin()通过多个条件获取新数据框

循环遍历数据框并使用 pd.DateOffset 设置日期

数据框列上的pd.Timedelta转换