如何从另一DataFrame的单行创建新的DataFrame?
从Pandas DataFrame中选取一行生成新DataFrame的简洁方法
你提到的df.iloc[0]返回Series而非DataFrame的问题,确实有更直接的解决方式,不用绕弯子做转置操作:
方法一:使用列表形式的索引
给iloc传入包含目标行索引的列表,就能直接得到DataFrame:import pandas as pd df = pd.DataFrame({"col1": [1, 2], "col2": [0, 1]}) df1 = df.iloc[[0]] # 结果是包含第一行的DataFrame原理:当
iloc接收单个整数时返回Series,接收列表(哪怕只有一个元素)时会保留二维结构,返回DataFrame。方法二:使用head()方法(仅适用于取第一行)
如果只是要获取第一行,用head(1)也能快速得到结果:df1 = df.head(1)
你之前用的pd.DataFrame(df.iloc[0]).T确实能达到目的,但属于间接方式,上面两种方法都是一步到位的更优解。
内容的提问来源于stack exchange,提问作者24n8
相关产品推荐
相关产品推荐

