当前位置: 首页 > 面试题库 >

使用iloc为pandas DataFrame中的特定单元格设置值

姜乐家
2023-03-14
问题内容

我也有类似的问题,这个。区别在于我必须按位置选择行,因为我不知道索引。

我想做类似的事情df.iloc[0, 'COL_NAME'] = x,但是iloc不允许这种访问。如果执行df.iloc[0]['COL_NAME] = x此操作,则会出现有关链接索引的警告。


问题答案:

对于混合位置和索引,请使用.ix。但是您需要确保索引不是整数,否则会引起混乱。

df.ix[0, 'COL_NAME'] = x

更新:

或者,尝试

df.iloc[0, df.columns.get_loc('COL_NAME')] = x

例:

import pandas as pd
import numpy as np

# your data
# ========================
np.random.seed(0)
df = pd.DataFrame(np.random.randn(10, 2), columns=['col1', 'col2'], index=np.random.randint(1,100,10)).sort_index()

print(df)


      col1    col2
10  1.7641  0.4002
24  0.1440  1.4543
29  0.3131 -0.8541
32  0.9501 -0.1514
33  1.8676 -0.9773
36  0.7610  0.1217
56  1.4941 -0.2052
58  0.9787  2.2409
75 -0.1032  0.4106
76  0.4439  0.3337

# .iloc with get_loc
# ===================================
df.iloc[0, df.columns.get_loc('col2')] = 100

df

      col1      col2
10  1.7641  100.0000
24  0.1440    1.4543
29  0.3131   -0.8541
32  0.9501   -0.1514
33  1.8676   -0.9773
36  0.7610    0.1217
56  1.4941   -0.2052
58  0.9787    2.2409
75 -0.1032    0.4106
76  0.4439    0.3337


 类似资料:
  • 我有一个类似于这个和这个的问题。区别在于我必须按位置选择行,因为我不知道索引。 我想做一些类似于,但iloc不允许这种访问。如果我执行,则会出现关于链接索引的警告。

  • 问题内容: 我创建了一个 并得到这个 然后,我想为特定的单元格赋值,例如行“ C”和列“ x”。我期望得到这样的结果: 使用此代码: 但内容df没有改变。再次仅在中。 有什么建议? 问题答案: RukTech的答案,远比我在下面建议的选项要快得多。但是,已将其淘汰。 展望未来,推荐的方法是。 为什么不起作用: 默认情况下,返回带有数据副本的新数据框,因此 仅修改此新数据框。 返回数据框的视图,因此

  • 拿到这个了 然后我要为特定单元格赋值,例如为行“C”和列“X”赋值。我已经料到会有这样的结果: 使用此代码:

  • 我正在使用JavaApachePOI生成excel,我只需要美化它(带边框) 这是我生成excel的一些代码

  • 我只想在假设有一个值列表的单元格中添加一个JComboBox。下面是我的代码,但它在列中的所有单元格中添加了组合框。让我知道我的代码中缺少了什么,以便只在选定的单元格上设置组合框。

  • 我正在尝试使用Apache POI XSSF将表导出为xlsx。表有5列。 我尝试了和。的问题,它返回所有行中数据的最高宽度。因此,如果表中某些数据的宽度越大,表头的宽度就会变得越大。对于第二个,我需要知道标题单元格的宽度,以便将其设置为工作表。但是如何找到特定单元格的宽度呢?还没有弄清楚怎么做。你知道怎么做吗?