删除列
# 方法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)
删除列K中包含字符a的行
df = df[~df['K'].str.contains('a')]
删除列S中值不为1的行
df = df[df['S'] != 1]
删除列S中值不为1,2,3的行
df = df[(df['S'] != 1) & (df['S'] != 2) & (df['S'] != 3)]
将列S重命名为T
df.rename(columns={'S': 'T'}, inplace=True)
纵向拼接两个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
横向拼接两个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
将多个字典变量构成的列表转换为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