相关疑难解决方法(0)

重命名pandas中的列

我有一个使用pandas和列标签的DataFrame,我需要编辑它来替换原始列标签.

我想更改A原始列名称所在的DataFrame 中的列名:

['$a', '$b', '$c', '$d', '$e'] 
Run Code Online (Sandbox Code Playgroud)

['a', 'b', 'c', 'd', 'e'].
Run Code Online (Sandbox Code Playgroud)

我将已编辑的列名存储在列表中,但我不知道如何替换列名.

python replace rename dataframe pandas

1601
推荐指数
32
解决办法
237万
查看次数

Pandas按位置重命名?

我只是想知道我是否可以按位置重命名列名.我知道如何使用df.rename(columns = {})按实际名称重命名它们.

如果我不知道他们的名字并且只知道他们的职位,我该怎么办呢?

python pandas

31
推荐指数
2
解决办法
6万
查看次数

如何防止 json_normalize 在 Pandas 中重复列标题?

我的 json 结构如下:

{
   "data": {
              "item1": {
                       "field1": "foo",
                       "field2": "bar",
                       "field3": "baz"
                       },
              "item2": {
                       "field1": "foo1",
                       "field2": "bar1",
                       "field3": "baz1"
                       },
           }
}
Run Code Online (Sandbox Code Playgroud)

当我使用标准化这个数据结构时pd.io.json.json_normalize,我得到一个包含 1 行的数据框,并且每个数据项重复列标题。如何使重复的列显示为行而不是列?

我目前得到这个

field1 | field2 | field3 | field1 |field2 | field3

foo     | bar    | baz    | foo1   | bar1  | baz1  
Run Code Online (Sandbox Code Playgroud)

我想要的是:

field1 | field2 | field3 |


foo     | bar    | baz

foo1    | bar1   | baz1
Run Code Online (Sandbox Code Playgroud)

python json pandas

5
推荐指数
1
解决办法
1721
查看次数

当我以下列方式修改pandas数据帧时会发生什么

试图理解这种行为(为什么会发生;如果是有意的话,那么以这种方式完成它的动机是什么)

所以我创建了一个数据帧

np.random.seed(0)
df = pd.DataFrame(np.random.random((4,2)))


          0         1
0  0.548814  0.715189
1  0.602763  0.544883
2  0.423655  0.645894
3  0.437587  0.891773
Run Code Online (Sandbox Code Playgroud)

我可以像这样引用列

df.columns = ['a','b']
df.a
          0
0  0.548814
1  0.602763
2  0.423655
3  0.437587 
Run Code Online (Sandbox Code Playgroud)

我甚至可以制作,我认为这是一个新专栏

 df.third = pd.DataFrame(np.random.random((4,1)))
Run Code Online (Sandbox Code Playgroud)

df仍然是

df
          0         1
0  0.548814  0.715189
1  0.602763  0.544883
2  0.423655  0.645894
3  0.437587  0.891773
Run Code Online (Sandbox Code Playgroud)

然而,df.third也存在(但我在Spyder的变量查看器中看不到它)

df.third
          0
0  0.118274
1  0.639921
2  0.143353
3  0.944669
Run Code Online (Sandbox Code Playgroud)

如果我想添加第三列,我必须执行以下操作

df['third'] = pd.DataFrame(np.random.random((4,1)))

          a         b     third
0  0.548814  0.715189  0.568045 …
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
69
查看次数

标签 统计

pandas ×4

python ×4

dataframe ×1

json ×1

rename ×1

replace ×1