如何覆盖datafram第一行的值

2024-04-27 05:09:52 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个panda.Dataframe例如:

df = pd.DataFrame(np.random.randn(10,5), columns = ['a','b','c','d','e'])

我想知道用0(或其他特定值)替换第一行中所有值并使用新数据帧的最佳方法。我想用一种通用的方法来实现这一点,其中可能有更多或更少的列。你知道吗

尽管问题很简单,我还是没能找到解决办法。其他人发布的大多数示例都与fillna()和相关方法有关


Tags: columns数据方法示例dataframedfnprandom
1条回答
网友
1楼 · 发布于 2024-04-27 05:09:52

您可以使用iloc非常简洁地执行此操作,如:

代码:

df.iloc[0] = 0

测试代码:

df = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print(df)
df.iloc[0] = 0
print(df)

结果:

          a         b         c         d         e
0  0.715524 -0.914676  0.241008 -1.353033  0.170578
1 -0.300348  1.118491 -0.520407  0.185877 -0.950839
2  1.942239  0.980477  0.110457 -0.558483  0.903775
3  0.400923  1.347769 -0.120445  0.036253  0.683571
4 -0.761881 -0.642469  2.030019  2.274070 -0.067672
5  0.566003  0.263949 -0.567247  0.689599  0.870442
6  1.904812 -0.689312  1.400950  1.942681 -1.268679
7 -0.253381  0.464208  1.362960  0.129433  0.527576
8 -1.404035  0.174586  1.006268  0.007333  1.172559
9  0.330404  0.735610  1.277451 -0.104888  0.528356

          a         b         c         d         e
0  0.000000  0.000000  0.000000  0.000000  0.000000
1 -0.300348  1.118491 -0.520407  0.185877 -0.950839
2  1.942239  0.980477  0.110457 -0.558483  0.903775
3  0.400923  1.347769 -0.120445  0.036253  0.683571
4 -0.761881 -0.642469  2.030019  2.274070 -0.067672
5  0.566003  0.263949 -0.567247  0.689599  0.870442
6  1.904812 -0.689312  1.400950  1.942681 -1.268679
7 -0.253381  0.464208  1.362960  0.129433  0.527576
8 -1.404035  0.174586  1.006268  0.007333  1.172559
9  0.330404  0.735610  1.277451 -0.104888  0.528356

相关问题 更多 >