跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • pandas DataFrame
未分類
29 3 月 2021

pandas DataFrame

pandas DataFrame

資深大佬 : badacook 0

列数据
col1 = pd.Series([‘a’, ‘b’])
col2 = pd.Series([‘x’, ‘y’])
col3 = pd.Series([‘1’, ‘2’])

pandas 的 DataFrame
col1 col2 col3
a x 1
a x 2
a y 1
a y 2
b x 1
b x 2
b y 1
b y 2

想请教一下大家 pandas 能否用 上面的列数据,生成 下面的 DataFrame 二维表,有别于筛选和交、差、并、补,不知道有没有,pandas 直接实现的函数,还望大家不吝赐教,谢谢了

大佬有話說 (8)

  • 資深大佬 : a342191555

    笛卡尔积
    https://blog.csdn.net/yj1556492839/article/details/79529186

  • 資深大佬 : popil1987

    好像没有,可以用 Python 的 combination 函数

  • 資深大佬 : princelai

    一的方法应该可以,笛卡尔积对应的是 product

    “`
    from itertools import product
    pd.DataFrame(product(col1.to_list(),col2.to_list(),col3.to_list()))
    “`

  • 資深大佬 : yuankui

    python 不清楚,java 或者 js 可以用 flatmap

  • 資深大佬 : princelai

    @princelai #3 哦对了,不引入别的包,只用 pandas 也可以实现,使用 MultiIndex 就行了

    “`
    pd.MultiIndex.from_product([col1.to_list(),col2.to_list(),col3.to_list()]).to_frame(index=None)
    “`

  • 資深大佬 : maloneleo88

    借问问 openpyxl 怎么附加写入某列,在不知道此列行长度的情况下

  • 主 資深大佬 : badacook

    @a342191555
    @princelai
    非常感谢 两位的指点 非常 nice

  • 資深大佬 : dongxiao

    “`python

    col1 = pd.Series([‘a’, ‘b’])
    col2 = pd.Series([‘x’, ‘y’])
    col3 = pd.Series([‘1’, ‘2’])

    col1, col2, col3 = map(pd.DataFrame, [col1, col2, col3])
    col1.index = [1 for _ in range(len(col1))]
    col2.index = [1 for _ in range(len(col2))]
    col3.index = [1 for _ in range(len(col3))]

    r = (
    col1
    .join(col2, how=”outer”, lsuffix=”_col1″, rsuffix=”_col2″)
    .join(col3, how=”outer”)
    )
    r.columns = [“col1”, “col2”, “col3”]

    print(r)
    “`

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具