繁体   English   中英

Pandas:从 dataframe 创建 dataframe

[英]Pandas: Create dataframe from dataframe

我有一个 function 迭代 DataFrame 的行,然后用它创建一个新的 DataFrame。 创建的DataFrame的行数是一样的,但是列的个数和名称不一样,所以不能

def _mod_df(df: pd.DataFrame) -> pd.DataFrame:
    dff = pd.DataFrame(COL_NAMES)
    for _, row in df.iterrows():
        col1 = row.colname8 / row.colname3
        col2 = row.colname2 ** 2
        col3 = row.colname[:8]

        dff = dff.concat([dff, Series([col1, col2, col3])], ignore_index=True)

    return dff

有没有办法优化这个?

尝试:

def _mod_df(df: pd.DataFrame) -> pd.DataFrame:
    return pd.DataFrame([(df.colname8 / df.colname3).values,
                         (df.colname2 ** 2).values,
                         df.colname[:8].values],
                        columns=COL_NAMES)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM