Python常用Dataframe语句

  1. 删除列

# 方法1,删除列名S,并将删除后的df赋值给原来的df
df = df.drop('S', axis=1)
# 方法2,直接在原有的df上删除
df.drop('S', axis=1, inplace=True)
# 方法3,在没有列名的情况下,删除第一列
df = df.drop(df.columns[0], axis=1)
  1. 删除列K中包含字符a的行

df = df[~df['K'].str.contains('a')]
  1. 删除列S中值不为1的行

df = df[df['S'] != 1]
  1. 删除列S中值不为1,2,3的行

df = df[(df['S'] != 1) & (df['S'] != 2) & (df['S'] != 3)]
  1. 将列S重命名为T

df.rename(columns={'S': 'T'}, inplace=True) 
  1. 纵向拼接两个dataframe(需要有相同的列)

new_df = pd.concat([df1, df2], axis=0)

示例

import pandas as pd

# 创建两个示例 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})

# 纵向拼接两个 DataFrame
result = pd.concat([df1, df2], axis=0)

# 输出拼接结果
print(result)

输出

  A B
0 1 4
1 2 5
2 3 6
0 7 10
1 8 11
2 9 12
  1. 横向拼接两个dataframe(需要有相同的行数)

new_df = pd.concat([df1, df2], axis=1)

示例

import pandas as pd

# 构造示例DataFrame
a = pd.DataFrame({'A': [1,2,3,4,5,6,7,8,9,10],
                  'B': [11,12,13,14,15,16,17,18,19,20],
                  'C': [21,22,23,24,25,26,27,28,29,30],
                  'D': [31,32,33,34,35,36,37,38,39,40]})

b = pd.DataFrame({'E': [101,102,103,104,105,106,107,108,109,110],
                  'F': [111,112,113,114,115,116,117,118,119,120],
                  'G': [121,122,123,124,125,126,127,128,129,130]})

# 横向拼接
ab = pd.concat([a, b], axis=1)

print(ab)

输出

     A   B   C   D    E    F    G
0    1  11  21  31  101  111  121
1    2  12  22  32  102  112  122
2    3  13  23  33  103  113  123
3    4  14  24  34  104  114  124
4    5  15  25  35  105  115  125
5    6  16  26  36  106  116  126
6    7  17  27  37  107  117  127
7    8  18  28  38  108  118  128
8    9  19  29  39  109  119  129
9   10  20  30  40  110  120  130
  1. 将多个字典变量构成的列表转换为dataframe

import pandas as pd
a = [{"name": "Alice", "age": 25, "gender": "F"},
     {"name": "Bob", "age": 30, "gender": "M"},
     {"name": "Charlie", "age": 35, "gender": "M"}]
     
df = pd.DataFrame(a)
       name  age gender
0     Alice   25      F
1       Bob   30      M
2   Charlie   35      M

猜你喜欢

转载自blog.csdn.net/qq_42276781/article/details/129103437
今日推荐