Python Pandas DataFrame从列表中添加固定值到cloumn,并为每个列表值生成新的Column输出

马克思·巴布

这可能会有所不同

我有数据框

 A  B  C
 1  2  4
 2  4  6
 8  10 12
 1  3  5 

和一个动态列表(列表的长度可能会有所不同,[1,2,3,4,5,6,7,8,9,10,11]我希望在每个列表中将C列值与列表值相加,并生成具有附加值的新数据框列,该怎么做?

 A  B  C  C_1  C_2 .......................... C_11
 1  2  4  5     6                             15
 2  4  6  7     8                             17
 8  10 12 11    14
 1  3  5  6     7                             16

谢谢您的支持

马那金

您可以使用dict理解来创建简单的数据框。

dynamic_vals = [1,2,3,4,5,6,7,8,9,10,11]


df2 = pd.concat(
 [df,pd.DataFrame({f'C_{val}' : [0] for val in dynamic_vals })]
                                              ,axis=1).fillna(0)

print(df2)


   A   B   C  C_1  C_2  C_3  C_4  C_5  C_6  C_7  C_8  C_9  C_10  C_11
0  1   2   4  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   0.0   0.0
1  2   4   6  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   0.0   0.0
2  8  10  12  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   0.0   0.0
3  1   3   5  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   0.0   0.0

或者您可以assign在@piRSqaured的建议下再次使用

df2 = df.assign(**dict((f'C_{i}', np.nan) for i in dynamic_vals))


   A   B   C  C_1  C_2  C_3  C_4  C_5  C_6  C_7  C_8  C_9  C_10  C_11
0  1   2   4  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN
1  2   4   6  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN
2  8  10  12  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN
3  1   3   5  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN

或@piRSquare建议的更好,更简单的解决方案

df.join(pd.DataFrame(np.nan, df.index, dynamic_vals).add_prefix('C_')

   A   B   C  C_1  C_2  C_3  C_4  C_5  C_6  C_7  C_8  C_9  C_10  C_11
0  1   2   4  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN
1  2   4   6  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN
2  8  10  12  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN
3  1   3   5  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   NaN   NaN

编辑:

使用df.join带有字典解析。

df.join(pd.DataFrame({f'C_{val}' : df['C'].values + val for val in dynamic_vals }))

   A   B   C  C_1  C_2  C_3  C_4  C_5  C_6  C_7  C_8  C_9  C_10  C_11
0  1   2   4    5    6    7    8    9   10   11   12   13    14    15
1  2   4   6    7    8    9   10   11   12   13   14   15    16    17
2  8  10  12   13   14   15   16   17   18   19   20   21    22    23
3  1   3   5    6    7    8    9   10   11   12   13   14    15    16

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Python Pandas Dataframe中的Date生成值

来自分类Dev

如何通过搜索列表中给定的关键字值在Python pandas数据框中添加新列?

来自分类Dev

python pandas:整数列表,作为DataFrame的各个值

来自分类Dev

在Pandas Dataframe单元中找到[Python列表]的匹配值总和?

来自分类Dev

值错误将嵌套列表保存到 DataFrame - Python、Pandas

来自分类Dev

Python divmod用于pandas Dataframe中的每个值

来自分类Dev

适用于pandas Dataframe中每个值的Python divmod

来自分类Dev

Pandas Dataframe列到python列表

来自分类Dev

在Pandas DataFrame Python中添加新列

来自分类Dev

python pandas:访问DataFrame中列表的元素

来自分类Dev

数组列表中的python pandas dataframe

来自分类Dev

使用python词典中的值的新pandas dataframe列

来自分类Dev

python pandas在数据框列中添加列表作为默认值

来自分类Dev

Python Pandas中DataFrame中的值聚合?

来自分类Dev

Python Pandas DataFrame检查一列的值是否在另一列表中

来自分类Dev

Python Pandas 值错误

来自分类Dev

使用pandas对列表的字典中的值进行计数并为输出联接键和值名称

来自分类Dev

python pandas dataframe union合并列表到索引

来自分类Dev

可扩展的方法,以Python中的pandas将列表中的值作为数据框中的列值

来自分类Dev

cumsum pandas达到特定值-python pandas

来自分类Dev

分组并输出部分列值pandas python

来自分类Dev

将Pandas DataFrame转换为Python列表

来自分类Dev

根据另一列pandas python的值在python中添加新列

来自分类Dev

如果列值在列表中,则创建一个列值-python pandas

来自分类Dev

python pandas:根据列表中列的另一个值设置列的值

来自分类Dev

Python字典到Pandas Dataframe

来自分类Dev

Python字典(/ w值是各种长度的列表)到Pandas数据框

来自分类Dev

Python Pandas每个组中组与组总计的值之比

来自分类Dev

python Pandas中的if语句

Related 相关文章

  1. 1

    从Python Pandas Dataframe中的Date生成值

  2. 2

    如何通过搜索列表中给定的关键字值在Python pandas数据框中添加新列?

  3. 3

    python pandas:整数列表,作为DataFrame的各个值

  4. 4

    在Pandas Dataframe单元中找到[Python列表]的匹配值总和?

  5. 5

    值错误将嵌套列表保存到 DataFrame - Python、Pandas

  6. 6

    Python divmod用于pandas Dataframe中的每个值

  7. 7

    适用于pandas Dataframe中每个值的Python divmod

  8. 8

    Pandas Dataframe列到python列表

  9. 9

    在Pandas DataFrame Python中添加新列

  10. 10

    python pandas:访问DataFrame中列表的元素

  11. 11

    数组列表中的python pandas dataframe

  12. 12

    使用python词典中的值的新pandas dataframe列

  13. 13

    python pandas在数据框列中添加列表作为默认值

  14. 14

    Python Pandas中DataFrame中的值聚合?

  15. 15

    Python Pandas DataFrame检查一列的值是否在另一列表中

  16. 16

    Python Pandas 值错误

  17. 17

    使用pandas对列表的字典中的值进行计数并为输出联接键和值名称

  18. 18

    python pandas dataframe union合并列表到索引

  19. 19

    可扩展的方法,以Python中的pandas将列表中的值作为数据框中的列值

  20. 20

    cumsum pandas达到特定值-python pandas

  21. 21

    分组并输出部分列值pandas python

  22. 22

    将Pandas DataFrame转换为Python列表

  23. 23

    根据另一列pandas python的值在python中添加新列

  24. 24

    如果列值在列表中,则创建一个列值-python pandas

  25. 25

    python pandas:根据列表中列的另一个值设置列的值

  26. 26

    Python字典到Pandas Dataframe

  27. 27

    Python字典(/ w值是各种长度的列表)到Pandas数据框

  28. 28

    Python Pandas每个组中组与组总计的值之比

  29. 29

    python Pandas中的if语句

热门标签

归档