gpt4 book ai didi

python - 创建 pandas DataFrame 时将 'name' 属性添加到行和列名称

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:36 26 4
gpt4 key购买 nike

我正在创建一个 Pandas 数据框来了解如何处理丢失的数据。我想要的是在创建 DataFrame 时将行和列名称添加到 DataFrame 中,而不是稍后使用 'df.index.name =' 和 'df.columns.name =' 传递它们。我怎样才能做到这一点?

# Program to generate a m x n DataFrame with random NaN values scattered in:
import random
def df_maker(m, n):
df = pd.DataFrame(np.random.randint(1, 100, (m*n)).reshape(m, n), index = [f'Row {i+1}' for i in range(m)], columns = [f'Col {j+1}' for j in range(n)] )
for i in range(m):
df.iloc[[i],[random.randrange(n)]] = np.nan
return df
df = df_maker(10, 10)
df.index.name = 'Rows'
df.columns.name = 'Columns'
df

我尝试在文档中查找 pandas.DataFrame , pandas.DataFrame.rename_axis和其他一些方法,但找不到我要找的东西。那么如何在不使用 df.index.name = 'Rows' 和 df.columns.name = 'Columns' 的情况下用 1 行代码创建上述数据框呢?谢谢。

最佳答案

创建分别表示行和列的 Index 对象:

def df_maker(m, n):
index = pd.Index([f'Row {i + 1}' for i in range(m)], name='Rows')
columns = pd.Index([f'Col {i + 1}' for i in range(n)], name='Columns')
df = pd.DataFrame(np.random.randint(1, 100, size=(m, n)), index=index, columns=columns)
# rest of your code here

关于python - 创建 pandas DataFrame 时将 'name' 属性添加到行和列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59607374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com