python - 在Python数据框中创建具有多个名称的列

标签 python pandas

我有一个像这样的数据框 df:

        Country     Value   
          US         300
          FR         360
          IT         500
          NL         450
          CH         700
          CN         233
          NF         123
          AR         456
          BR         129
          NG         423
          ..          .. 
          ..          ..
          GR         560
          CY         145
          ES         890
          PR         783
          BL         123

而且我知道 df 中的这些国家是每个“实验类型”的前 5 个国家。实验类型是我创建的一个列表,它是:my_list = [1, 2, 3, 4, 5, ......,20 ]。因此,前5个国家属于实验1,接下来的5个国家属于实验2,……最后5个国家属于实验20。

我想创建一个列,通过实验来指示国家/地区,所以我想要这样:

    Experiment       Country     Value   
       1               US         300
                       FR         360
                       IT         500
                       NL         450
                       CH         700
       2               CN         233
                       NF         123
                       AR         456
                       BR         129
                       NG         423
                       ..          .. 
                       ..          ..
      20               GR         560
                       CY         145
                       ES         890
                       PR         783
                       BL         123

我知道可以在使用groupby函数创建数据框时完成类似的操作,但是在创建初始数据框之后,您能帮忙确定现在执行此操作的最佳方法是什么吗?

最佳答案

我相信最好的方法是添加一个包含实验值的新列,如下所示:

df['Experiment'] = np.arange(len(df)) // 5
print (df)
   Country  Value  Experiment
0       US    300           0
1       FR    360           0
2       IT    500           0
3       NL    450           0
4       CH    700           0
5       CN    233           1
6       NF    123           1
7       AR    456           1
8       BR    129           1
9       NG    423           1
10      GR    560           2
11      CY    145           2
12      ES    890           2
13      PR    783           2
14      BL    123           2

关于python - 在Python数据框中创建具有多个名称的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52037465/

相关文章:

python - 如何将上限应用于 Pandas DateTime

python - 如何在pandas dataframe中查找中英文组合记录

python - 从 pandas Dataframe 字符串的科学记数号中获取幂数

java - 在方法名称中发现无效字符。 HTTP 方法必须是 token

python - 无法诊断无效的语法错误(Python)

python - 更改 DataFrame 行子集的列

python - 从数据框列中的字典中提取值

python - 使用散点图根据变量绘制没有填充、颜色和大小的圆

python - 使用 ffmpeg/ffprobe 的 CMD 错误输出子进程

python - LightGBM 中的交叉验证