我有一个像pandas DataFrame:
A B
'2010-01-01' 10 20
'2010-02-01' 20 30
'2010-03-01' 30 10
Run Code Online (Sandbox Code Playgroud)
我需要为每个列应用一些函数,并在此DataFrame中使用特殊名称创建新列.
A B A1 B1
'2010-01-01' 10 20 20 40
'2010-02-01' 20 30 40 60
'2010-03-01' 30 10 60 20
Run Code Online (Sandbox Code Playgroud)
所以我需要创建两个带有名称的列,A1并B2基于列A和B(如名称A1 = str(A) + str(1))乘以2.是否可以使用DataFrame.apply()或其他结构?
您可以使用join组合:
>>> import pandas as pd
>>> df = pd.DataFrame({"A": [10,20,30], "B": [20, 30, 10]})
>>> df
A B
0 10 20
1 20 30
2 30 10
>>> df * 2
A B
0 20 40
1 40 60
2 60 20
>>> df.join(df*2, rsuffix='1')
A B A1 B1
0 10 20 20 40
1 20 30 40 60
2 30 10 60 20
Run Code Online (Sandbox Code Playgroud)
在那里你可以替换df*2使用df.apply(your_function),如果你喜欢.
| 归档时间: |
|
| 查看次数: |
2570 次 |
| 最近记录: |