python - 如何在 Pandas 数据框中创建多列?

标签 python image pandas dataframe

我有一个这样的数据框:

dataframe

但我希望每行中的每个像素都有单独的列。所以它会是这样的

0 129 179 242 128 178 241
1 104 93  75  101 90  72
2 172 159 176 171 158 175

我该怎么做?

最佳答案

这可能效率不高,但您可以将这些元组转换为列表,扩展它们,然后应用系列,即

df = pd.DataFrame({'one':[[(1,2,3,),(4,5,6)],[(4,5,6),(7,8,9)]],'two':['a','b']})

                      one two
0  [(1, 2, 3), (4, 5, 6)]   a
1  [(4, 5, 6), (7, 8, 9)]   b

df['one'] = df['one'].apply(lambda x : sum([list(i) for i in x],[]))

new_df = df['one'].apply(pd.Series).assign(two=df['two'])

new_df 
  two  0  1  2  3  4  5
0   a  1  2  3  4  5  6
1   b  4  5  6  7  8  9

关于python - 如何在 Pandas 数据框中创建多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49830808/

相关文章:

python - 无法让WAF运行

php - 从 mysql 表中检索数据时循环显示相同的图像

HTML 背景图像未正确重复

image - 从 3 个静态摄像机的角度来看如何恢复其在 3d 空间中的位置?

python - 绘制使用 pandas 创建的带有 CSV 文件的数据框。 x 轴刻度标签有问题

python - pd.to_datetime 是我一半的日期与翻转的日期/月份

python - 按所有零行对 2D NumPy 数组进行切片

python - 仅当 Pandas 中的值为空/空时才合并

python - 具有行子集的数据帧的平均值 - Python

python - 用排序索引替换 Pandas 列