python - 在函数中操作 DataFrame
问题描述
我需要创建一个可以作用于任何数据帧并对其执行操作的函数。
为了澄清,例如,假设我在这里有这个示例数据框:
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
columns=['a', 'b', 'c'])
看起来像这样。
a b c
0 1 2 3
1 4 5 6
2 7 8 9
我创建了一个执行此类操作的函数:
def ColDrop(df, collist):
> df=df.drop(columns = collist)
> return df
(假设 > 作为缩进)
我想要的是它接受一个列表作为“collist”变量,并从数据框中删除所有这些“df”,所以......
col = ['a', 'b']
ColDrop(df, col)
看起来像...
c
0 3
1 6
2 9
但是,它似乎不起作用。同样,我想根据其行从任何数据框中删除值,例如...
def rowvaluedrop(df, column, pattern):
> filter = df[column].str.contains(pattern)
> df = df[~filter]
> return df
rowvaluedrop(df, a, 4)
看起来像...
a b c
0 1 2 3
2 7 8 9
(我意识到第二个示例可能不起作用,因为这些值是整数而不是字符串,但我希望我的观点无论如何都能得到理解。)
提前致谢。
解决方案
您需要将returning dataframe
背面df
隐式存储
df = rowvaluedrop(df, a, 4)
推荐阅读
- swift - iOS JWE AES GCM 256
- firebase - 如何将多个图像保存到 Firebase 存储并一次获取图像 URL?
- python - 识别 np.array 的空元素
- android - react-native 中未显示图标
- visual-c++ - 结构和枚举类的循环引用问题
- sql-server - 如何在带有后端数据(springboot和mssql)的角度中使用折线图(highcharts)
- javascript - 有没有办法强制显示浏览器的默认“离开站点”确认对话框?
- flutter - 如何从飞镖执行 Add 2 home?
- named-entity-recognition - “合并财务数据”和“表格 8-K”以及类似的法律术语是否算作命名实体(用于命名实体识别)?
- xml - 使用 xslt for-loop 选择 xml 内部数据的值?